我将UIScrollView(IPhone SDK)子类化并覆盖(void)layoutSubviews;方法。 我注意到每次滚动scrollView时都会调用此方法。
这是正确的行为还是我的代码中有错误?如果是默认行为,这不是性能杀手吗?
此致 海因里希·
答案 0 :(得分:11)
这是正确的行为,它应该用于获取子视图的自定义布局。我已经多次使用它并且没有任何性能问题,并添加了数百个项目。
关于该主题的documentation的剪切:
子类也可以是容器 其他观点。在这种情况下,只是 覆盖指定的初始化程序, initWithFrame :,创建一个视图 层次结构。如果你想 以编程方式强制布局 绘图前的子视图,发送 setNeedsLayout到视图。然后呢 调用layoutIfNeeded, layoutSubviews方法只是被调用 在显示之前。子类应该 覆盖要执行的layoutSubviews 任何自定义的子视图安排。