以编程方式添加的nib文件自定义视图是半透明的

时间:2014-02-24 00:23:03

标签: ios uiview nib

我有一个故事板。我以编程方式从nib文件加载了一个自定义UIView到我的一个UIViewController。

分别检查不透明和alpha值以及1。

即使UIView是半透明的。

这里会出现什么问题?

1 个答案:

答案 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;