18

私の質問は、ルートビューにサブビューとしてビューを追加したときです。ルートビューのアルファ値を変更すると、サブビューでも同じことが発生します。実際には、サブビューで更新する必要はありません。そのような解決策はありますか。

4

4 に答える 4

43

これにより、ルート ビューのアルファのみが変更され、他のビューは変更されません。

    self.view.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5];
于 2012-06-05T06:23:05.277 に答える
2

ビューの構造を変更する必要があります。サブビューをルート ビューに配置する代わりに、ルート ビューの上にレイヤーを作成しますが、サブビューをルートに追加します。レイヤーのアルファを変更しても、サブビューには影響しません。以下の構造例。

現在の構造:

RootView->Subviews //Changing RootView alpha effects Subviews.

必要な構造:

RootView->View->Subviews(Still Added to RootView) //Changing alpha of Layer doesn't effect subviews.

お役に立てれば。

于 2012-06-05T06:24:18.150 に答える
1

これは、以下の方法でルート ビューの色を変更することでも解決されますが、これはサブビューには影響しません。

[rootView setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.7]];
于 2016-12-02T05:26:56.433 に答える