NSPopover
の内部では、サブビュー(ラベル、プッシュボタンなど)の中には自動的に有効にするものがあります。これは、ユーザーが「システム環境設定」で「透明度を下げる」ように設定していない限り、Popoverの背後にあるコンテンツが暗い色になっていると、アプリが非常に悪く見えるようにします。 Popoverのコンテンツビューをサブクラス化し、allowsVibrancy
をfalseに設定すると、全体的にポップオーバーが半透明になり、見栄えがよくなります。しかし、私のアプリは、活力が完全に無効になっているときに最もよく見えると思う。NSViewごとに動作を無効にする
私の質問は、NSView
の各サブクラスをサブクラス化せずに、すべてのビューに対してどのようにして活力を無効にするのですか?あなたはこのトリックとソリッドカラーを使用するようにポップオーバーを設定することができ
vibrancyを無効にしてカスタム背景色を設定することは同じではありません。 vibrancyを無効にすると、ビューは不透明になります。OSによって使用されるテーマ(明るいまたは暗い)と一致するデフォルトの背景色は変更されません。 – Ethan