我有一个 Storyboard。我以编程方式将 nib 文件中的自定义 UIView 加载到我的 UIViewController 之一。
不透明值和 alpha 值分别被检查和 1。
即使 UIView 是半透明的。
这里会出现什么问题?
最佳答案
subview 的最大 alpha 值是其父 View 的 alpha 值。
subview 的 alpha 实际上是两个 alpha 值的乘积。如果 parent 的 alpha 为 0.5,则 alpha 为 1 的 child 将有效地拥有 0.5 alpha。
如果您需要将不透明的 subview 放在半透明或透明的父 View 上,有两种方法。
第一种方法是将可能的父 View 也移动到 subview ,以便两个 View 都是同一父 View 的 subview 。该父 View 只是一个背景清晰的 View ,充当容器,但 alpha 为 1。
第二种方法是使父 View 透明或半透明,同时将其 alpha 保留为 1。这是通过将其颜色设置为具有非 1 alpha 值来实现的。例如:
[UIColor colorWithRed:1 green:0 blue:0 alpha: 0.3];
而不仅仅是:
someView.alpha = 0.3;
关于ios - 以编程方式添加的 nib 文件自定义 View 是半透明的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21976693/