ios - iOS 5 中 UIScrollView layoutSubviews 行为发生变化?

标签 ios uiscrollview layoutsubviews

我正在开发一个组件,该组件是 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/

相关文章:

当键盘打开时 View 更改后出现带有白色文本的 ios 黑色键盘

ios - 显示来自视频 swift 的预览图像

ipad - 带有许多 UIImageViews 的 UIScrollView - 内存管理

iphone - UIScrollView 在 iOS 4.0 上缩放时不调用 layoutSubviews

ios - 如何强制 UIView 的 layoutSubviews?

iOS:确定所有 child 何时调用了 layoutSubviews

ios - swift 3 在应用程序处于后台时读取加速度计数据

iOS 模拟器崩溃而真实设备没有

ios - UIScrollView 适用于 4 英寸,不响应 3.5 英寸的任何触摸

ios - 如何拦截触摸事件并转发到指定的UIView