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)
            }
        }
    }
}

0 ответов

Другие вопросы по тегам