我有一個基於視圖的NSOutlineView
,我爲其中一列提供自定義視圖(NSTableCellView
的子類)。我註冊使用該子視圖:在NSTableView/NSOutlineView中的自定義視圖
let nib = NSNib(nibNamed: "MyMatcherView", bundle: NSBundle.mainBundle())
outlineView.registerNib(nib, forIdentifier: "matcher")
當我打電話outline.makeViewWithIdentifier("matcher")
,它成功地返回了我的自定義視圖的一個實例。好極了!
雖然在界面生成器中,我注意到我可以完全刪除matcher
列中的NSTableCellView
控件(請參見下文)。
出現了兩個問題:
- 我認爲它的工作原理在運行時因爲調用
registerNib()
告訴表使用筆尖,而不是將已經由接口定義的一個生成器。它是否正確? - 在我提供自定義視圖的上下文中,您可以在下面的截圖中看到
Text Cell
控件。我無法刪除它,但我不確定它代表什麼。
謝謝Ken,那很完美。一切似乎都行得通,但能夠多瞭解一些基本原因是很好的。非常感謝。 –