在视图周围绘制阴影会减慢我的过渡,CALayer,ios
MyViewControllerB.xib包含
view( UIView ) | |__image (UIImageView) | |__view (UIView) | |__text (UITextView) | |__view (UIView) ( shadow is adding at here )
然后我在底部的视图周围添加一个阴影如下
- (void)viewDidLoad { [super viewDidLoad]; [self.bottomView.layer setMasksToBounds:NO]; self.bottomView.layer.shadowColor = [UIColor blackColor].CGColor; self.bottomView.layer.shadowRadius = 5; self.bottomView.layer.shadowOpacity = 1; self.bottomView.layer.shadowOffset = CGSizeMake(0 , 0 ); }
当我做pushViewController: animated:
在MyViewControllerA:
@implementation MyViewControllerA MyViewControllerB *controller = [[MyViewControllerB alloc] initWithNibName:@"MyViewControllerB" bundle:nil]; [self.navigationController pushViewController:controller animated:YES];
那么过渡是不平坦的。 但是,如果删除用于绘制阴影的代码块,则平滑过渡是平常的
你有关于这个问题的任何想法。 如果您在感谢之前经历过,请帮助
指定CALayer shadowPath
。 苹果公司表示:“指定明确的path通常会提高渲染性能。”
如果Jon的build议不起作用,您可以尝试使用视图的UIImage快照,并在animation过程中使用这些快照。 我们为一个项目做了这个 – 把UIImageView放在实际的视图上,然后在animation结束时删除它。 iOS上的阴影很慢。
你可以告诉CALayer光栅化阴影。