我正在开发一个iPad应用程序。在我的应用程序中,用户可以移动、旋转和缩放图像。我注意到,当我给图像添加一个3d阴影边框时,它会使它们变得非常笨重和反应迟钝。我使用以下代码添加边框:
self.layer.MasksToBounds = false;
self.layer.ShadowColor = [[UIColor alloc] initWithRed:0 green:0 blue:0 alpha:0.5].CGColor;
self.layer.ShadowOpacity = 1.0f;
self.layer.ShadowOffset = CGSizeMake(0, 2.5f);这一切为什么要发生?我有什么办法来解决这个问题呢?
发布于 2012-05-27 01:05:07
这是CALayer阴影的一个众所周知的问题。同时设置shadowPath属性,您将看到良好的性能提升。
阴影路径可以只是图像视图边界的路径。你应该只需要设置一次,当你的图像缩放时,图层转换会保持它的最新状态。
发布于 2012-05-27 05:24:20
您还应该设置
self.layer.ShouldRasterize = YES这将对图层进行光栅化。如果设置为NO (默认),所有应用到图层上的滤镜和阴影都会被重新计算几次,这会耗费相当多的性能。尤其是在滚动视图或表视图中。
https://stackoverflow.com/questions/10768206
复制相似问题