UIScrollView layoutSubviews iOS 5中的行为更改?

Age*_*one 2 uiscrollview ios layoutsubviews

我正在研究一个来自UIView的子类的组件,它包含一个UIScrollView.滚动时,我注意到了不同的行为,具体取决于我构建的SDK.在iOS 4上,layoutSubviews消息在滚动视图的superview(这是我的组件)上发送,但在iOS 5上,似乎消息不再发送...

在看了iOS 5发行说明和更改日志后,我没有发现任何提及这种变化的内容.我错过了什么吗?

ben*_*ord 5

在iOS5中,不在scrollView的superview上调用layoutSubviews.但它是在iOS4中.

如果您想在iOS5中使用此行为,请在UIScrollView的子类中执行此操作:

- (void)layoutSubviews {
    [super layoutSubviews];

    // causes layoutSubviews to get called on superview
    [self.superview setNeedsLayout]; 
Run Code Online (Sandbox Code Playgroud)

这可能会变得更有效率.仅仅因为UIScrollView正在滚动,并不意味着它的superview需要自行布局.