2

NSOutlineView列の 1 つにカスタム ビュー (のサブクラス) を提供するビューベースNSTableCellViewがあります。以下を使用してこのサブビューを登録しています。

let nib = NSNib(nibNamed: "MyMatcherView", bundle: NSBundle.mainBundle())
outlineView.registerNib(nib, forIdentifier: "matcher")

を呼び出すとoutline.makeViewWithIdentifier("matcher")、カスタム ビューのインスタンスが正常に返されます。わーい!

NSTableCellViewただし、Interface Builder では、列からコントロールを完全に削除できることに気付きましたmatcher(以下を参照)。

Interface Builder のテーブル ビュー

2 つの疑問が生じます。

  • registerNib()への呼び出しは、Interface Builder によって定義されたものではなく、その nib を使用するようにテーブルに指示するため、実行時に機能すると思います。これは正しいです?
  • カスタム ビューを提供するという文脈で、Text Cell下のスクリーンショットで確認できるコントロールは何ですか。削除できず、何を表しているのかよくわかりません。
4

1 に答える 1