2012-04-02 96 views

回答

12

你会发现你的答案here

编辑:直接从博客复制:

  • init不会引起layoutSubviews被称为(杜)
  • addSubview导致layoutSubviews要呼吁视图被添加到(目标视图)以及目标视图的所有子视图
  • setFrame智能地在视图上调用layoutSubviews,使其仅在框架设置为frame的情况下该帧的仪表是不同
  • 滚动一个UIScrollView导致layoutSubviews被称为上滚动视图,它的上海华
  • 旋转装置仅在父视图调用layoutSubview(响应viewControllers主视图)
  • removeFromSuperview - layoutSubviews被称为超级观点只有
+3

+1为答案。但是请考虑在这里的答案中添加一些来自链接的描述,以便在将来无论如何链接失效的情况下,您的答案仍然有用。 – 2012-04-03 07:00:14

1

你是对的。布局子视图被自动调用。查看文档以获取更多信息。

文档没有具体说明什么时候这被称为。但是,几乎可以保证它经常被调用。当你不能调整你的子视图或使用struts和spring来移动它们时,你真的只想重载这个方法。一种情况是在设备改变方向时重新组织子视图位置。

1

任何时候系统都会调用layoutSubviews方法认为您的视图需要重新布局。例如,如果视图的框架已更改,或添加了子视图等。如果您需要手动触发此操作,则可以调用setNeedsLayout方法。

相关问题