将带有 alpha 1 的 UIView 放在带有 alpha 0.5 的 UIView 之上
Posted
技术标签:
【中文标题】将带有 alpha 1 的 UIView 放在带有 alpha 0.5 的 UIView 之上【英文标题】:Putting UIView with alpha 1 on top of UIView with alpha 0.5 【发布时间】:2011-03-19 17:51:57 【问题描述】:我正在尝试将模块化 uiview 放置在另一个视图之上。模块化视图的 alpha 值为 0.5,并出现在主视图的中间。
现在,我希望在该模块化 UIView 上呈现文本。但是,每当我:
[modularView addSubview:text]
看起来很朦胧。
如何使文本变得清晰,但保持其父视图的 alpha 为 0.5?
谢谢!
【问题讨论】:
【参考方案1】:我正在做的一个项目也是如此,我的“模态视图”位于全屏图像之上。
我的“modalview”的 alpha 为 1.0,背景颜色为黑色,不透明度为 50%。
那么文本是白色的,带有默认的高光和带有 1.0 h 和 v-offset 的暗阴影。
希望对你有帮助...
PS:确保您将文本添加到“modalview”前面,而不是后面;)
【讨论】:
【参考方案2】:为背景色而不是整个视图设置 alpha:
[modularView setBackgroundColor:[UIColor colorWithRed:0.0
green:0.0
blue:0.0
alpha:0.5]];
这将允许任何子视图保持完全不透明度。我的代码中的颜色是黑色。只需为您想要的任何颜色设置 RGB 值即可。
您也可以只使用 UILabel 而不是 UIView 并以相同的方式设置它的背景。然后你不需要添加子视图——虽然我不确定你的 modularView 视图中还有什么。
【讨论】:
以上是关于将带有 alpha 1 的 UIView 放在带有 alpha 0.5 的 UIView 之上的主要内容,如果未能解决你的问题,请参考以下文章
使用 FPDF (PHP) 插入带有 alpha 通道的 PNG
Xcode iOS UIView 带有点击手势,允许在子视图上输入