这不是参考任何特定的代码,但我注意到当我有一个 UIView 有一个阴影添加到它的图层时,在界面方向之间旋转时的动画变得更加滞后/断断续续。
有没有人注意到这个问题或找到了解决方法?
这不是参考任何特定的代码,但我注意到当我有一个 UIView 有一个阴影添加到它的图层时,在界面方向之间旋转时的动画变得更加滞后/断断续续。
有没有人注意到这个问题或找到了解决方法?
使用阴影时, 的shadowPath
属性会在性能上CALayer
产生非常(!)显着的差异,尤其是在新 iPad 上。虽然我同意在更改显示方向时禁用阴影是一个好主意,但可能值得一试shadowPath
(如果您还没有使用它)。尽管路径可以是任何有效CGPathRef
的,但在大多数情况下,这是您想要的:
self.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.layer.bounds].CGPath;
就 CPU 时间而言,有些东西非常昂贵。一段时间在 Instruments 中检查一下。
那不是一个完整的列表。我怀疑渐变也会在那里。
如果您发现这些事情正在降低您的动画或重绘,您将需要在UIViewController
方法中切换它们。
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
//disable shadows + expensive drawing
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
//enable shadows + expensive drawing
}