我使用以下代码在UIView后面画一个阴影
self.view.layer.borderColor = [UIColor whiteColor].CGColor;
self.view.layer.shadowColor = [UIColor blackColor].CGColor;
self.view.layer.shadowOpacity = 1.0;
self.view.layer.shadowRadius = 25.0;
self.view.layer.shadowOffset = CGSizeMake(0, 3);
self.view.clipsToBounds = NO;
CGPathRef shadowPath = [UIBezierPath bezierPathWithRect:self.view.layer.bounds].CGPath;
[self.view.layer setShadowPath:shadowPath];
这可以在模拟器和iPhone5中使用。然而,在我的iPad3上:根本没有阴影。
知道怎么回事?
答案 0 :(得分:0)
我找到了解决方案。这不是关于模拟器。这是关于肖像与景观方向的界限的回归。我必须将阴影路径的设置移动到 viewDidAppear 和 didRotateFromInterfaceOrientation 方法,以便在所有可能的启动方向上正确渲染阴影。
-(void)viewDidAppear:(BOOL)animated{
CGPathRef shadowPath = [UIBezierPath bezierPathWithRect:self.view.layer.bounds].CGPath;
[self.view.layer setShadowPath:shadowPath];
}
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
CGPathRef shadowPath = [UIBezierPath bezierPathWithRect:self.view.layer.bounds].CGPath;
[self.view.layer setShadowPath:shadowPath];
}