我正在向视图添加阴影(包括 shadowPath 以便性能更好),如下所示:
CALayer *layer=aView.layer;
layer.shadowColor=[UIColor blackColor].CGColor;
layer.shadowOpacity=0.8f;
layer.shadowOffset=CGSizeMake(4.0f,4.0f);
layer.shadowRadius=6.0f;
layer.masksToBounds=NO;
layer.shouldRasterize=YES;
layer.shadowPath=[UIBezierPath bezierPathWithRect:aView.bounds].CGPath;
但是当设备旋转并且视图框架发生变化时,阴影会出错(偏移很远等)
我尝试在 layoutSubviews 方法中重置阴影,但在旋转过程中,您可以看到阴影在屏幕上移动。
在旋转过程中处理阴影路径的正确方法是什么?
(作为最后的手段,我要移除阴影,然后在旋转后将其放回原处,但它很笨重,然后必须在其控制器完成设备方向时告知我的视图:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
有没有更好的方法让 VIEW 可以知道旋转已经完成?)