【发布时间】:2014-11-21 15:28:13
【问题描述】:
由于我正在开发一个应用程序的设计师,我不得不将很多东西塞进一个视图控制器中。我想我会通过跳过调用来减轻一些 CPU 压力并节省一些时间
[super layoutSubviews];
在隐藏视图上(并且是视图s我的意思是 UIView 的一个子类,它包含所有其他内容)并且仅在视图出现之前刷新它。如果这对你们中的某些人很重要,我会通过设置 BOOL 标志来做到这一点。这在 iOS8 上运行良好,但在 iOS7 上崩溃了应用程序:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. XXX's implementation of -layoutSubviews needs to call super.'
那么如何在 iOS7 上跳过调用 layoutSubviews 呢?
当然,有可能我完全不了解 iOS 的工作原理,跳过此调用不会节省任何时间,因为它无论如何都会计算约束。在这种情况下,问题将是“如何跳过计算隐藏视图的约束?”。
【问题讨论】:
标签: ios objective-c autolayout