3

NSWindowwith 2 NSViews(NSSplitViewとカスタムNSView)があります。これらのビューに入力するデータにアクセスするには、時間がかかる場合があります。この期間中、これらのビューのコンテンツをグレーアウトしたいと思います。

私の最初のアプローチは、他の 2 つを覆う黒い 3 分NSViewの 1 を作成し、アルファ値を変更することでグレーアウト効果を実現することでした。ただし、兄弟ビューを持つ階層を持つことは定義されていないことを学びました。

ここで最善のアプローチは何ですか?

  • 2 つのビューをキャッシュNSBitmapImageRepし、キャッシュされた画像を背景として使用して 3 番目のビューに置き換えます。
  • 各ビューのアルファ値を個別に設定します(グレー効果のために黒い背景を取得する方法はまだよくわかりません)
  • 考慮していないこと
4

2 に答える 2

6

子ウィンドウを使用します。コンテンツ ビューを単純な黒のビュー (できればサブビューにステータスと進行状況の情報を含む) に設定し、そのアルファ値を目的のフェードアウトに設定し、コンテンツをフェードアウトするウィンドウの子ウィンドウとして追加します。

于 2009-11-01T00:57:34.503 に答える
2

無効な状態で自分自身を描画する方法をビューに教えますが、ここには他の提案があります:

単一の NSView に表示されるすべてを暗くするにはどうすればよいですか?

于 2009-11-01T00:56:32.073 に答える