2

Can you override a parent UIView's alpha value on one of its subviews? に似た質問があります。

場合によっては、現在のビューの上にカスタムの半透明のフルスクリーン オーバーレイ ビューを表示したいことがあります。トリックは、上部にカスタム ナビゲーション バーとその他のコンテンツ (ラベルにする) を配置し、ナビゲーション バーを不透明にすることです。つまり、元のビューのすべてをペイントします。同時に、他のすべてのコンテンツを半透明にしたいと考えています。ナビゲーション バーがまったくない可能性があるため、メイン ビューのナビゲーション バーに干渉したくありません。ナビゲーション バーとその他すべてのコンテンツを含む単一のコンテナー ビューを作成し、それをウィンドウに追加したいと思います。しかし、コンテナ、ナビゲーションバー、およびコンテンツの背景色とアルファの組み合わせはどれも機能していないようです。

私が見つけた質問は、コンテナ ビューが不透明でない場合は不可能であることを示唆しています。透明部分と不透明部分の間に単純な境界線があるため、私の場合は少し異なる場合があります。だから私はまだいくつかの簡単な方法があることを願っています. それとも、不透明なナビゲーション バーと透明なコンテンツ ビューを別々に管理する必要がありますか?

4

2 に答える 2

1

あなたの質問を正しく理解できたら、コンテナー ビューを完全に透明にし (backgroundColor = [UIColor clearColor])、不透明なナビゲーション バーと半透明のコンテンツ ビューをコンテナー ビューに追加する必要があります。

于 2009-11-10T17:39:28.673 に答える
0

編集:この回答は無視してください。私は質問を誤解しました。

前の投稿の回答は正しくありません (質問を理解したとおりです)。個々のビューのアルファは個別に設定されます。各ビューを追加するとき、Interface Builder で、または nib からロードした後に、必要なレベルにアルファを調整する必要があります。

ナビゲーション バーを覆いたくない場合は、(1) オーバーレイ ビューのフレームをナビゲーション バーの下に配置するか、(2) オーバーレイ ビューに 2 つの兄弟ビューを作成し、1 つのビューをナビゲーション バー上で透明にし、他には半透明の要素があります。

于 2009-11-10T17:40:45.213 に答える