iphone - 如何将不透明的 UIView 作为半透明 UIView 的 subview ?

标签 iphone ios ipad

我有一个 alpha 为 0.5 的 UIView,我将它作为 subview 添加到我的主视图中,以便使其他所有内容变灰。我想向这个灰色的 UIView 添加一个额外的 UIView 作为 subview - 问题是当我这样做时,我新添加的 subview 也是部分透明的。

有什么方法可以让 subview “忽略”其父 View 的 alpha 值并使其本身完全不透明?

最佳答案

设置 UIView 背景颜色 alpha 而不是直接设置 alpha。

objective-C

UIView *view;
...
view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:.6];

它与以下内容不同:

view.backgroundColor = [UIColor blackColor];    
view.alpha = .6;

swift

view.backgroundColor = UIColor.black.withAlphaComponent(0.6)

关于iphone - 如何将不透明的 UIView 作为半透明 UIView 的 subview ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6112220/

相关文章:

ios - 在 ios 中使用 Collection View 创建 View

iphone - 从 native iPhone 应用程序访问 UIWebView 本地存储数据

ios - 在 Swift 中保存数据

iphone - 比较两个无符号字符缓冲区

iphone - indexPathForRowAtPoint 不会给我正确的索引

iphone - 如何解析 iOS 中有特殊字符的 xml 数据?

javascript - 如何获得一个好的 iOS 网络阅读器

ios - 为什么 WKInterfaceTable 的方法 rowControllerAtIndex 返回 nil?

iphone - 检查邮件设置是否通过代码在 IOS 设备上完成

objective-c - iPad 视网膜显示屏有没有办法减少使用 CGContext Begin Page 创建的 PDF 文件大小?