NSOutlineView
列の 1 つにカスタム ビュー (のサブクラス) を提供するビューベースNSTableCellView
があります。以下を使用してこのサブビューを登録しています。
let nib = NSNib(nibNamed: "MyMatcherView", bundle: NSBundle.mainBundle())
outlineView.registerNib(nib, forIdentifier: "matcher")
を呼び出すとoutline.makeViewWithIdentifier("matcher")
、カスタム ビューのインスタンスが正常に返されます。わーい!
NSTableCellView
ただし、Interface Builder では、列からコントロールを完全に削除できることに気付きましたmatcher
(以下を参照)。
2 つの疑問が生じます。
registerNib()
への呼び出しは、Interface Builder によって定義されたものではなく、その nib を使用するようにテーブルに指示するため、実行時に機能すると思います。これは正しいです?- カスタム ビューを提供するという文脈で、
Text Cell
下のスクリーンショットで確認できるコントロールは何ですか。削除できず、何を表しているのかよくわかりません。