你可以在其子视图之一上覆盖父UIView的alpha值吗?

时间:2009-08-13 01:51:21

标签: cocoa-touch uiview alphablending

我有一个透明的视图(alpha = 0.6),它有一些子视图。我想要使​​用1.0的alpha绘制其中一个子视图(UILabel),因为混合使文本难以阅读,但通过将其添加为主视图的子视图,它已采用其父级的alpha值。有没有办法覆盖这种行为?我相信我必须从子视图中删除它,但想问一下,看看我是否遗漏了一些东西。

3 个答案:

答案 0 :(得分:14)

布莱恩是对的。 例如:

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

将在alpha 0.6中生成黑色背景,其他视图不会受到影响。

答案 1 :(得分:10)

另一种易于使用的方法是不修改UIView上的alpha通道。而是修改UIView的backgroundColor对象上的alpha图层。

当然这取决于你为什么使alpha图层透明,但它适合我的要求。

答案 2 :(得分:2)

你是对的。您必须将UILabel移出透明视图才能使其呈现为不透明。