在 NSTableCellView 中聚焦一个字段以进行即时编辑
focus a field in a NSTableCellView for instant editing
我想以编程方式将焦点设置在 table 中的 NSTableCellView 中的两个编辑字段之一,其中一行中有一个列,以便用户可以立即编辑该字段。
在我的示例中,我可以 select 该行(按下按钮后),但我找不到将焦点设置在特殊字段上的方法。
在我的示例中,我想将光标设置在第 3 行的倾斜字段上。
class MainVC: NSViewController, NSTableViewDataSource, NSTableViewDelegate
{ var t = [Item]()
@IBOutlet weak var itemTV: NSTableView!
@IBAction func actionBu(_ sender: Any)
{
let indexSet = IndexSet(integer: 2)
itemTV.selectRowIndexes(indexSet, byExtendingSelection: false)
itemTV.scrollRowToVisible(2)
}
感谢所有帮助命令,我找到了解决方案
@IBAction func actionBu(_ sender: Any)
{ self.view.window!.makeFirstResponder(itemTV.view(atColumn: 0, row: 2, makeIfNecessary: true)?.subviews[0])
}
对我来说很好,
我想以编程方式将焦点设置在 table 中的 NSTableCellView 中的两个编辑字段之一,其中一行中有一个列,以便用户可以立即编辑该字段。 在我的示例中,我可以 select 该行(按下按钮后),但我找不到将焦点设置在特殊字段上的方法。
在我的示例中,我想将光标设置在第 3 行的倾斜字段上。
class MainVC: NSViewController, NSTableViewDataSource, NSTableViewDelegate
{ var t = [Item]()
@IBOutlet weak var itemTV: NSTableView!
@IBAction func actionBu(_ sender: Any)
{
let indexSet = IndexSet(integer: 2)
itemTV.selectRowIndexes(indexSet, byExtendingSelection: false)
itemTV.scrollRowToVisible(2)
}
感谢所有帮助命令,我找到了解决方案
@IBAction func actionBu(_ sender: Any)
{ self.view.window!.makeFirstResponder(itemTV.view(atColumn: 0, row: 2, makeIfNecessary: true)?.subviews[0])
}
对我来说很好,