我已经将NSTableView和NSTableColumn子类化了,我想控制表格单元格版本的进程。
我的表类有两种状态:版本和非编辑。无论表的状态如何,当用户选择一行时,该行必须被覆盖。
如果表处于州版,则必须显示与所选行对应的控件。
我使用函数rowview来实现这一点,但我没有成功。 1当我单击一个单元格的文本单元格时,控件始终显示。 2当调用rowview函数时,我不理解row参数的值。有时它是正确的,有时它是不正确的。
有人可以帮助我吗?
我想制作精度:为了简化,在我的子类NSTableView中,我编写了这段代码:
override func rowView(atRow row: Int, makeIfNecessary: Bool) -> NSTableRowView? {
let aRow = super.rowView (atRow: row, makeIfNecessary: makeIfNecessary)
if aRow != nil {
Swift.print("rowview is called for row (row)")
}
return aRow
}
当我单击第0行时,我得到以下结果:“第1行调用rowview”然后当我单击第1行时:“第1行调用rowview第0行调用rowview第2行调用rowview”