6

いくつかのサブビューを持つやや透明なビュー (アルファ = 0.6) があります。サブビューの 1 つ (UILabel) をアルファ 1.0 で描画したいのは、ブレンドによってテキストが読みにくくなるためですが、それをメイン ビューのサブビューとして追加することで、親のアルファ値が採用されているためです。この動作を無効にする方法はありますか? サブビューから削除する必要があると思いますが、何か不足していないかどうかを確認したかったのです。

4

3 に答える 3

15

ブライアンは正しい。例えば ​​:

view.backgroundColor = [UIColor colorWithWhite:0 alpha:0.6];

アルファ 0.6 で黒の背景を作成し、他のビューは影響を受けません。

于 2010-06-25T13:54:58.197 に答える
11

簡単に機能する別のアプローチは、UIView のアルファ チャネルを変更しないことです。代わりに、UIView の backgroundColor オブジェクトのアルファ レイヤーを変更します。

もちろん、これはアルファ レイヤーを透明にした理由にもよりますが、私の要件ではうまくいきました。

于 2010-04-14T19:23:13.903 に答える
2

あなたは正しいです。UILabel を透明なビューの外に移動して、非透明としてレンダリングする必要があります。

于 2009-08-13T03:41:18.883 に答える