NSTableView(основанная на представлении) Клавиша с вкладкой "Обработка" в Сьерре и Высокой Сьерре
Я пытаюсь контролировать вкладку NSTableView
(представление на основе) на Сьерра и Высокая Сьерра, и я также переопределить controlTextDidEndEditing
функция. Но это не работает.
Не могли бы вы дать мне совет? Спасибо!
override func controlTextDidEndEditing(_ notification: Notification) {
guard let textField = notification.object as? NSTextField,
let textMovement = notification.userInfo?["NSTextMovement"] as? Int else {
return
}
let editedColumn = self.column(for: textField)
let editedRow = self.row(for: textField)
let lastRow = self.numberOfRows
let lastColumn = self.numberOfColumns
if textMovement == NSTabTextMovement && editedRow != -1 && editedRow < lastRow {
if editedColumn == lastColumn - 1 {
if editedRow == lastRow - 1 {
// Go to the first row
self.selectRowIndexes(IndexSet(integer: 0), byExtendingSelection: false)
editColumn(1, row: 0, with: nil, select: true)
} else {
// Go to the next row
selectRowIndexes(IndexSet(integer: editedRow + 1), byExtendingSelection:
editColumn(1, row: editedRow + 1, with: nil, select: true)
}
}
}
}