当更改 UIView 的基本视图属性(例如 backgroundColor、alpha/opacity、frame)时,实际上是在底层获得了这些更改吗?简单地说,例如当我更改 UIViews alpha 时,它实际上是更改了 CALayers 不透明度属性吗?
问问题
169 次
1 回答
1
在 iOS 上,视图是围绕层的相当薄的包装器,并且大多数视图属性(如框架/边界、alpha 等)确实只是在操纵底层。您可以使用视图控制器中的一小段代码来验证您的 alpha 示例:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
self.view.alpha = 0.5f;
NSLog(@"Layer alpha: %f", self.view.layer.opacity);
self.view.layer.opacity = 1.0f;
NSLog(@"View alpha: %f", self.view.alpha);
}
这打印出来:
Layer alpha: 0.500000
View alpha: 1.000000
所以我们可以看到view alpha和layer opacity是一回事。
于 2013-08-12T09:04:03.653 回答