4

通常は暗い背景の上に表示される( source list )がNSPopover含まれています (ただし、常に暗いとは限りません)。には透明な背景があり、ビューにうまく溶け込みます。これは OS X 10.9 では見栄えがよくなりましたが、10.10 ではシステムが背景に基づいてテキストの色を変更します。その結果、テキストが完全に灰色になり、場合によっては判読できなくなります。NSOutlineViewNSOutlineViewNSPopoverNSOutlineView

ここに画像の説明を入力

ポップオーバーを HUD スタイルに変更すると、読みやすくなります。

ここに画像の説明を入力

ただし、この場合、明るい背景 (上) では問題になります。

NSOutlineView背景に関係なく色が同じになるようにテキストの色を制御する方法はありますか? テキスト セルの色をシステム カラーではなく黒に設定しようとしましたが、効果がありません。

また、透明度を制御/削除できNSPopoverますか? NSPopoverを利用する を読んだことがありますがNSVisualEffectView、これにはいくつかの外観コントロールがありますが、NSPopover からアクセスする方法がわかりません。

NSOutlineView審美的な理由から、私はを無地の背景ビューの下に置きたくありません。この場合、ポップオーバーの背景とその矢印の色が不一致になります。

編集:

次のコードを使用して透明度を削除できました。

NSView *popoverView = popover.contentViewController.view.superview;
popoverView.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];

動作しますが、醜いハックのように感じます。より良い提案を歓迎します。

EDIT2:

アクアスタイルに合わせるとこんな感じ。透明性はなく、テキストは黒です。

ここに画像の説明を入力

4

1 に答える 1

1

モードをソース リスト以外に設定すると、10.10 より前のスタイル、つまり半透明なしのスタイルが得られます。

于 2014-11-12T09:26:12.037 に答える