将带有 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 之上的主要内容,如果未能解决你的问题,请参考以下文章

带有渐变和阴影的 UIView

带有块的 UIView 动画如何在幕后工作

使用 FPDF (PHP) 插入带有 alpha 通道的 PNG

Xcode iOS UIView 带有点击手势,允许在子视图上输入

是否可以将带有大框架的uiview添加到带有小框架的uiview中

将带有自动布局的自定义 UIView 添加到 iCarousel