2012-05-06 8 views
2

私はビューベースのNSOutlineViewを2つの異なるビューで使用しています(両方のビューがカスタムサブクラスNSTableCellViewです)。トップレベルのビューでは、カウンターでバッジを表示します。カウンタは、下位レベルのエントリ数を示します。このカウンタは、Apple's SidebarDemoプロジェクトに続いて、丸い四角形のNSButtonとして実装されています。丸い矩形ボタンをカウンター付きのバッジとして使用する

画像からわかるように、セルの選択時のボタンの動作は、期待する動作ではありません。私のボタンは黒くなり、Appleのサンプルでは白くなります。私はカスタムセルクラスのawakeFromNib方法で上記を使用

[[self.button cell] setHighlightsBy: 0]; 

:私はsetHighlightsByメソッドへのボタンのこの特定の動作を設定する方法を突き止めました。同じawakeFromNibで私もボタンのベゼルを設定します。

[[self.button cell] setBezelStyle: NSInlineBezelStyle]; 

ベゼルスタイルはうまく動作しますが、ハイライトは無視しているようです。

私が与えることができるさらに詳しい情報:アウトラインビューはバインディングを使用してコンテンツを取得し、ハイライトモードは「ソースリスト」に設定されます。

ハイライトが無視されるのはなぜですか?

enter image description here

​​

答えて

1

(デモ・プロジェクトのように)IBで設定し、ボタンか?その場合は、属性インスペクタのコントロールセクションで[有効]チェックボックスをオンにしていますか?私はそのボックスのチェックを外すと、あなたが見ている動作を得ました。

+0

はい、ボタンがIBで設定され、「有効」チェックボックスがオンになっています。チェックされているかどうかにかかわらず、何の違いもありません。 – Roger

+0

@Roger、デモプロジェクトに違いがあります - あなたのコードのどこか他の場所でボタンを無効にすることができますか? – rdelmar

+0

はいデモプロジェクトを確認したところ、あなたは正しいです。しかし、私はセルビュー上のawakeFromNibメソッドのそのボタンだけを参照しています。それに近いところを見ると、選択されていないときに無効になっているように、何とか/どこかで無効になっているように見えます。 – Roger

0

@rdelmarの提案のおかげで、記述された動作の原因がわかりました。ボタンは、「引数」バインドインスペクタを使用してセルビューにバインドされます。設定の

enter image description here

ワン有効になっており、明らかに私のボタンの自動無効化の原因とされた、「条件付きセットが有効になって」があります。この設定を無効にすると、問題は消えます。

関連する問題