UIScrollView每次滚动时调用layoutSubviews()

Eri*_*rik 7 iphone cocoa-touch objective-c uiscrollview uikit

我将UIScrollView(IPhone SDK)子类化并覆盖(void)layoutSubviews; 方法.我注意到每次滚动scrollView时都会调用此方法.

这是正确的行为还是我的代码中有错误?如果是默认行为,这不是性能杀手吗?

真诚的,海因里希

tex*_*ex5 12

这是正确的行为,它应该用于获取子视图的自定义布局.我已经多次使用它并且没有任何性能问题因为添加了数百个项目.

关于该主题的文档的剪切:

子类也可以是其他视图的容器.在这种情况下,只需覆盖指定的初始化程序initWithFrame:,即可创建视图层次结构.如果要在绘制之前以编程方式强制子视图的布局,请将setNeedsLayout发送到视图.然后,当调用layoutIfNeeded时,将在显示之前调用layoutSubviews方法.子类应覆盖layoutSubviews以执行子视图的任何自定义排列.