我在视图上有一个 UIButton 的子类。在 iOS 6、5 等中运行良好。但在 iOS 7 中,当我尝试更改标题(使用 setTitle:forState:) 时,我注意到延迟。我已经追踪到基金会不断在我的控件上调用 layoutSubviews 的事实,这导致 CPU 使用率在应用程序的生命周期内徘徊在 100% 左右。
在我的子类中,我覆盖了 layoutSubviews 并添加了一个断点来诊断问题。回溯仅显示从基础中的 [UIView layoutSublayersOfLayer] 方法调用的方法。
请注意,如果我注释掉这一行:
[super layoutSubviews];
CPU 问题消失了,但当然会出现其他问题。
有人见过这个吗?为什么 iOS 7 不断调用 layoutSubviews?