我有一个包含单个列的表视图,该列由多个单个文本字段组成。我希望能够从一个单元格到另一个单元格。
到目前为止,我正在检测按键按键,如下所示;
override func controlTextDidEndEditing(obj: NSNotification) {
let lastRow = self.customFieldsTableView.numberOfRows
let lastCol = self.customFieldsTableView.numberOfColumns
let selectedRow = self.customFieldsTableView.selectedRow
let selectedColumn = self.customFieldsTableView.selectedColumn
let userInfo = obj.userInfo
let textMovement = userInfo!["NSTextMovement"] as! NSNumber
if textMovement == NSTabTextMovement {
if (selectedRow != lastRow - 1){
self.customFieldsTableView.selectRowIndexes(NSIndexSet(index: selectedRow ), byExtendingSelection: false)
self.customFieldsTableView.editColumn(0, row: selectedRow + 1, withEvent: nil, select: true)
}
} else if textMovement == NSReturnTextMovement {
debugPrint("Return")
}
我的想法是我可以检测到标签,然后告诉tableview转到下一个视图,但它不起作用。 Tab键要么不做任何操作,要么移动到下一个关键视图。
我错过了什么?
编辑:我可以截取此函数中的选项卡,但selectedRow有时为-1(无)