2016-06-27 21 views
0

(10.11.5上のXcode 8b0を使用して、しかし問題が7.3で発生)NSImageViewl強調表示/選択

マイアプリは、ユーザーが背景(色、画像、パターン)を設定できるようにNSColorWell二NSImageWellsを使用。 colourWellはうまく動作します。 2つのイメージウェルはありません。1つをクリックすると、選択され、両方を選択解除することはできません(colourWellを使用している場合は、これを選択します)。

NSImageViewは非アクティブ化または選択解除方法。 isHighlightedは、imageWellが明確に選択されたとしてマークされていてもfalseです。 imageWellまたはそのセルのハイライトを設定すると、視覚的な効果はありません。

アプリの再起動の間でも選択肢のメモリが残っているため、ストーリーボードに何らかの形で保存する必要があると思われますが、どのプロパティが責任を持っているのか分かりません(NSImageViewとNSControl運)。

NSImageViewをサブクラス化して 'mouseDown'をオーバーライドすることで、画像のウェルを特定の順序(最初に選択したものを有効にする必要があります)で無効にして有効にするばかげたダンスを採用することで、私はイメージをトリガするためにキャプチャ私は望む振る舞いを持っている行動をしているが、「特定の順序でコントロールを有効/無効にする」というのは、ハックのように感じるので、これを行う簡単な方法を本当に感謝する。 (だから、悲しいかな、NSButtonに適切なドラッグアンドドロップサポートを追加していると感じています;私は実際にのように '画像をドロップしてバックグラウンド変更があります'というのようです)。

NSImageViewsをハイライト表示させる原因は何ですか?また、どのようにしてこの動作を制御できますか?

Screenshot illustrating unwanted highlight

答えて

0

答えは、これはfalseにisHighlightedを設定することで、すべて何もしない理由であるハイライト、ではないということです。 NSImageViewにはallowsCutCopyPasteという名前のプロパティがあり、これが 'true'に設定されている場合は、imageWellまたは複数の場合は現在アクティブなimageWellがこの 'highlight'を表示します。

関連する問題