我正在开发一个组件,该组件是 UIView 的子类并包含 UIScrollView。 滚动时,我注意到不同的行为取决于我使用哪个 SDK 构建。在 iOS 4 上,layoutSubviews 消息在 ScrollView 的 super View (这是我的组件)上发送,但在 iOS 5 上,该消息似乎不再发送...
查看了 iOS 5 发行说明和变更日志后,我没有发现任何提及此类更改的内容。我错过了什么吗?
最佳答案
在iOS5中,不会在scrollView的 super View 上调用layoutSubviews。但那是在 iOS4 中。
如果您希望在 iOS5 中实现此行为,请在 UIScrollView 的子类中执行此操作:
- (void)layoutSubviews {
[super layoutSubviews];
// causes layoutSubviews to get called on superview
[self.superview setNeedsLayout];
这可能被更改为更有效。仅仅因为 UIScrollView 正在滚动,并不意味着它的 super View 需要自行布局。
关于ios - iOS 5 中 UIScrollView layoutSubviews 行为发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8036457/