不要用superview alpha值更新子视图
我的问题是当我添加一个视图作为子视图的根视图。当我改变了根视图的alpha值同样也发生在子视图也。其实我不需要在子视图中更新。是否有任何解决scheme来做这样的。
这只会改变根视图的alpha,而不会改变其他视图
self.view.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5];
build立在@shabbirv的答案上,也可以使用IB的颜色select器
您需要更改视图的结构。 不要将你的子视图放在根视图上,而是在你的根视图上创build一个ontop层,但是仍然把子视图添加到根。 当更改图层的alpha值时,不会影响子视图。 下面的示例结构。
你目前的结构:
RootView->Subviews //Changing RootView alpha effects Subviews.
需要的结构:
RootView->View->Subviews(Still Added to RootView) //Changing alpha of Layer doesn't effect subviews.
希望这可以帮助。
这也将通过改变根视图的颜色来解决这个问题,这不会影响子视图。
[rootView setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.7]];