我有大约 15 个 View ,我像这样应用 QuartzCore 阴影:
for button in buttonsArray {
button.layer.shadowOpacity = 0.75
button.layer.shadowColor = UIColor.blackColor().CGColor
button.layer.shadowRadius = 2.0
button.layer.shadowOffset = CGSize(width: 0.4, height: 1.2)
}
当我在 1 个 View 中有很多这种阴影时(如本例所示),它真的开始变慢并滞后于用户界面。
我该如何修复它,或者我还有哪些其他选择?谢谢!
最佳答案
观看 WWDC 2014 视频“适用于 iOS 应用的高级图形和动画”。
https://developer.apple.com/videos/wwdc/2014/
35:50 in ... 它讨论了为什么使用这种类型的代码生成阴影会导致 GPU 在确定阴影的形状时产生额外的屏幕外 channel 。
如果您已经知道阴影的形状,建议的解决方案是在层上也使用 shadowPath
属性...
这是一个很棒的视频。
关于ios - 影子滞后于用户界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27311917/