2つの異なるビューを持つビューベースのNSOutlineViewを使用しています(両方のビューはのカスタムサブクラスですNSTableCellView
)。トップレベルのビューでは、カウンター付きのバッジを表示します。カウンターは、下位レベルのエントリー数を示します。カウンターは、AppleのSidebarDemoプロジェクトに従って、丸みを帯びた長方形のNSButtonとして実装されます。
画像からわかるように、セルを選択したときのボタンの動作は、期待する動作ではありません。私のボタンは黒くなりますが、Appleのサンプルでは白くなります。ボタンのこの特定の動作をメソッドに設定するメソッドを追跡しました setHighlightsBy
。
[[self.button cell] setHighlightsBy: 0];
awakeFromNib
カスタムセルクラスのメソッドで上記を使用します。同じawakeFromNib
ように、ボタンのベゼルも設定します。
[[self.button cell] setBezelStyle: NSInlineBezelStyle];
ベゼルスタイルは問題なく機能しますが、強調表示は無視されているようです。
私が提供できる詳細情報:アウトラインビューはバインディングを使用してコンテンツを取得し、ハイライトモードは「ソースリスト」に設定されています。
ハイライトが無視されるのはなぜですか?