18

我的问题是当我将视图作为子视图添加到根视图时。当我更改根视图的 alpha 值时,子视图中也会发生同样的情况。实际上我不需要在子视图中进行更新。有什么解决方案可以做到这一点。

4

4 回答 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 回答