2017-05-20 47 views
0

我想将焦点设置在NSTableCellView中一个表格中的一个编辑字段中,该表格中的每列都有一列,以便用户可以即时编辑该字段。 在我的示例中,我可以选择行(按下按钮之后),但是我无法找到将焦点设置在特殊字段上的方法。集中NSTableCellView中的一个字段进行即时编辑

我在我的例子,我想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) 
    } 

enter image description here

enter image description here

+0

'NSTableView's'editColumn(_:row:with:select:)'''如何? – Willeke

+0

'UITextfield'有一个方法'becomeFirstResponder' – user1046037

+1

@ user1046037标签osx和nstableview表示一个macOS问题,Apple说'becomeFirstResponder':“永远不要直接调用这个方法”。 – Willeke

回答

0

感谢设置光标放在本标题字段行所有帮助的命令,我找到了一个解决方案

@IBAction func actionBu(_ sender: Any) 
    { self.view.window!.makeFirstResponder(itemTV.view(atColumn: 0, row: 2, makeIfNecessary: true)?.subviews[0]) 
    } 

适合我,

相关问题