我有一个故事板。我以编程方式从nib文件加载了一个自定义UIView到我的一个UIViewController。
分别检查不透明和alpha值以及1。
即使UIView是半透明的。
这里会出现什么问题?
答案 0 :(得分:1)
子视图的最大alpha值是其父视图的alpha值。
子视图的alpha实际上是两个alpha值的乘积。在alpha为0.5的父级上,alpha为1的孩子实际上会有0.5 alpha。
如果您需要在半透明或透明的父视图上放置不透明的子视图,有两种方法。
第一种方法是将可能的父视图移动到子视图,以便两个视图都是同一父视图的子视图。该父视图只是一个清晰的背景视图,它充当容器但alpha为1。
第二种方法是使父视图保持透明或半透明,同时将其alpha保留为1.这是通过将其颜色设置为具有非1 alpha值来完成的。例如:
[UIColor colorWithRed:1 green:0 blue:0 alpha: 0.3];
而不仅仅是:
someView.alpha = 0.3;