我的问题是当我将视图作为子视图添加到根视图时。当我更改根视图的 alpha 值时,子视图中也会发生同样的情况。实际上我不需要在子视图中进行更新。有什么解决方案可以做到这一点。
问问题
6479 次
4 回答
43
这只会改变根视图的 alpha,而不是其他的
self.view.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5];
于 2012-06-05T06:23:05.277 回答
9
基于@shabbirv 的答案,还可以使用 IB 的颜色选择器
于 2014-10-05T07:35:30.787 回答
2
您需要更改视图的结构。与其将子视图放在根视图上,不如在根视图上创建一个图层,但仍将子视图添加到根视图。更改图层的 alpha 时不会影响子视图。下面的示例结构。
您当前的结构:
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 回答