对于UIView,opaque alpha和背景的不透明度是如何协同工作的?它们之间的区别是什么?

UIView http://i.minus.com/jb2IP8TXbYTxKr.png

推荐答案

opaque意味着不要在下面画anything,即使你是透明的.

背景色的alpha仅影响背景色的透明度,而不影响视图上绘制的任何其他内容.

alpha会影响视图上绘制的所有内容.


不透明属性可以提高速度——如果您知道视图的透明度为never,可以将其设置为YES,当iOS渲染视图时,它可以进行一些性能优化,并加快渲染速度.如果设置为NO,iOS将不得不将您的视图与下面的视图混合,即使它不包含任何透明度.

alpha也会影响背景色的alpha,即如果背景色为0.5透明,alpha也为0.5,则会使背景视图的alpha为0.25(0.5*0.5).

Objective-c相关问答推荐

OCUnit 的单元测试示例

让 iPhone sleeping

AppDelegate、rootViewController 和 presentViewController

在 Objective-C 中在 iPhone 上使用 HTTP POST 和 GET 的教程

在 NSData 和 base64 字符串之间转换

isEqualTo: 和 isEqual 之间的区别:

BSXPCMessage 收到消息错误:连接中断

Objective-C:如何使用 BOOL 类型的参数调用 performSelector?

Objective C const NSString * vs NSString * const

参考代码中的内部版本号或版本号

如何判断字符串是否仅包含目标C中的字母数字字符?

如何从 AVPlayer(不是 AVAudioPlayer)获取持续时间?

如何将 .plist 文件中的数据 struct 读入 NSArray

动画 UIButton 状态变化

隐藏 NSTableView 标头?

检测 UITableView 滚动

在 UITableView 的 iOS 文档目录中列出保存的文件?

Xcode 警告未使用属性访问结果 - getter 不应用于副作用

Objective-C in,out,inout,byref,byval, .. 等等.这些是什么?

按字典中键的值对字典的 NSArray 进行排序