我在使用自动布局在 iOS 6 应用程序中创建的 UIView 中添加阴影时遇到问题。
假设我有一个在 UIView 底部添加阴影的方法(这实际上是 UIView 的一个类别,所以它是可重用的):
- (void) addShadowOnBottom {
self.layer.shadowOffset = CGSizeMake(0, 2);
self.layer.shadowOpacity = 0.7;
self.layer.shadowColor = [[UIColor blackColor] CGColor];
self.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.bounds].CGPath;
}
当我在某些 UIViewController 中调用此方法时viewDidLoad
,未添加阴影,可能是由于必须计算的所有约束。
viewWillAppear
当我在相同的情况下调用此方法时。
当我在其中调用此方法时,viewDidAppear
它可以工作,但是当新视图出现时,有一小段时间没有阴影,它会在一段时间后出现。
如果我放弃设置 shadowPath 并删除行self.layer.shadowPath
,一切正常,但视图转换不平滑。
所以我的问题是在 iOS 6 中添加阴影以查看 Autolayout 的正确方法是什么?