你能否在父级UIView的一个子视图上覆盖alpha值?

6

我有一个有些透明的视图(alpha = 0.6),其中包含一些子视图。我希望其中一个子视图(一个UILabel)的alpha值为1.0,因为混合会使文本难以阅读,但将其添加为主视图的子视图后,它采用了其父视图的alpha值。是否有一种方法可以覆盖这种行为?我认为我需要将其从子视图中删除,但想问一下是否可能我漏掉了什么。

3个回答

15

Brian是正确的。 例如:

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

设置 alpha 值为 0.6 的黑色背景,并且不会影响其他视图。


11

另一种容易实现的方法是不修改UIView上的alpha通道,而是修改UIView背景色对象上的alpha图层。

当然,这取决于你为什么让alpha图层透明,但对于我的要求,它效果很好。


谢谢!您的解决方案比创建另一个容器要好得多。 - Sean Vikoren

2
您说得对。要使UILabel以非透明方式呈现,您需要将其移出透明视图。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接