我正在处理一个来自UIView的子类并包含UIScrollView的组件。 滚动时,我注意到了不同的行为,具体取决于我构建的SDK。在iOS 4上,layoutSubviews消息在滚动视图的superview(这是我的组件)上发送,但在iOS 5上,似乎消息不再发送...
在看了iOS 5发行说明和更改日志之后,我没有发现任何提及这种变化的内容。我错过了什么吗?
答案 0 :(得分:5)
在iOS5中,不在scrollView的superview上调用layoutSubviews。但它是在iOS4中。
如果您想在iOS5中使用此行为,请在UIScrollView的子类中执行此操作:
- (void)layoutSubviews {
[super layoutSubviews];
// causes layoutSubviews to get called on superview
[self.superview setNeedsLayout];
这可能会变得更有效率。仅仅因为UIScrollView正在滚动,并不意味着它的superview需要自行布局。
答案 1 :(得分:0)
我有一个大的probs,调整按钮大小的大小是tableview中的子视图。笔尖加载了较小的按钮,加载后我调整了大小。但表格视图内容没有。 (在iOS 4. *它很完美,但在iOS 5中)。所以我发现我必须在ViewDidLoad中调整大小。我希望它有助于some1 =)