当阴影可见时,iOS屏幕旋转降级

时间:2012-04-17 21:51:57

标签: ios core-animation uiinterfaceorientation

这不参考任何特定的代码,但我注意到当我有一个UIView,它的阴影被添加到它的图层时,在界面方向之间旋转时的动画变得更加滞后/波动。

是否有人注意到此问题或找到了解决方法?

2 个答案:

答案 0 :(得分:2)

使用阴影时,shadowPath的{​​{1}}属性会在性能上产生非常明显的差异,尤其是在新iPad上。虽然我同意在更改显示方向时禁用阴影是一个好主意,但尝试使用CALayer(如果您还没有使用它)可能是值得的。虽然路径可以是任何有效shadowPath,但在大多数情况下,这是您想要的:

CGPathRef

答案 1 :(得分:1)

有些东西在CPU时间方面非常昂贵。一段时间在仪器中查看。

  • 阴影
  • bezier路径
  • 带破折号的bezier路径(真的很贵)

这不是一份全面的清单。我怀疑渐变也会存在。

如果您发现这些内容会降低动画或重绘效果,则需要使用UIViewController方法切换它们。

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
//disable shadows + expensive drawing
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
//enable shadows + expensive drawing
}