使用drawRect,setNeedsDisplay和layoutSubViews等方法有什么基本规则吗? 我认为它们会对应用性能产生负面影响。这些消息是否有任何首选替代方案?
答案 0 :(得分:1)
虽然这与this question不完全相同,但我相信my answer there仍适用。
总之,-drawRect:
将重绘视图中的内容,这是一项昂贵的操作。如果可以,可以通过分层内容并根据需要移动或隐藏这些图层来避免重绘。
然而,如果有许多重绘快速连续完成,例如尝试动画内容时,这些重绘通常只会对性能产生重大影响。一次性重绘静态UI元素不会明显减慢速度。