私はビューベースのNSOutlineViewを2つの異なるビューで使用しています(両方のビューがカスタムサブクラスNSTableCellView
です)。トップレベルのビューでは、カウンターでバッジを表示します。カウンタは、下位レベルのエントリ数を示します。このカウンタは、Apple's SidebarDemoプロジェクトに続いて、丸い四角形のNSButtonとして実装されています。丸い矩形ボタンをカウンター付きのバッジとして使用する
画像からわかるように、セルの選択時のボタンの動作は、期待する動作ではありません。私のボタンは黒くなり、Appleのサンプルでは白くなります。私はカスタムセルクラスのawakeFromNib
方法で上記を使用
[[self.button cell] setHighlightsBy: 0];
:私はsetHighlightsBy
メソッドへのボタンのこの特定の動作を設定する方法を突き止めました。同じawakeFromNib
で私もボタンのベゼルを設定します。
[[self.button cell] setBezelStyle: NSInlineBezelStyle];
ベゼルスタイルはうまく動作しますが、ハイライトは無視しているようです。
私が与えることができるさらに詳しい情報:アウトラインビューはバインディングを使用してコンテンツを取得し、ハイライトモードは「ソースリスト」に設定されます。
ハイライトが無視されるのはなぜですか?
はい、ボタンがIBで設定され、「有効」チェックボックスがオンになっています。チェックされているかどうかにかかわらず、何の違いもありません。 – Roger
@Roger、デモプロジェクトに違いがあります - あなたのコードのどこか他の場所でボタンを無効にすることができますか? – rdelmar
はいデモプロジェクトを確認したところ、あなたは正しいです。しかし、私はセルビュー上のawakeFromNibメソッドのそのボタンだけを参照しています。それに近いところを見ると、選択されていないときに無効になっているように、何とか/どこかで無効になっているように見えます。 – Roger