UIScrollView每次滚动时调用layoutSubviews()

时间:2010-05-03 18:35:36

标签: objective-c iphone cocoa-touch uikit uiscrollview

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

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

此致 海因里希·

1 个答案:

答案 0 :(得分:11)

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

关于该主题的documentation的剪切:

  

子类也可以是容器   其他观点。在这种情况下,只是   覆盖指定的初始化程序,   initWithFrame :,创建一个视图   层次结构。如果你想   以编程方式强制布局   绘图前的子视图,发送   setNeedsLayout到视图。然后呢   调用layoutIfNeeded,   layoutSubviews方法只是被调用   在显示之前。子类应该   覆盖要执行的layoutSubviews   任何自定义的子视图安排。