layoutSubviews方法何时被调用?
我正在通过一个教程 ,提到以下方法:
-(void)layoutSubviews
位于CustomerCell.m
在应用程序执行期间何时调用此方法? 它是否被自动调用? 我没有看到任何callback。
你会在这里find你的答案
编辑:直接从博客复制:
- init不会导致layoutSubviews被调用(duh)
- addSubview使layoutSubviews在被添加的视图,被添加到的视图(目标视图)以及目标视图的所有子视图上被调用
- 只有在框架的大小参数不同的情况下,setFrame才能在视图上智能地调用layoutSubviews
- 滚动UIScrollView会导致layoutSubviews在scrollView上被调用,并且它是superview
- 旋转设备只调用父视图上的layoutSubview(响应的viewControllers主视图)
- removeFromSuperview – 仅在superview上调用layoutSubviews
你是对的。 布局子视图是自动调用的。 查看文档以获取更多信息。
文档没有具体说什么时候这被称为。 但是,你几乎可以保证它是经常被调用的。 你真的只想重载这个方法,当你不能调整你的子视图或使用struts和弹簧自己移动。 一种情况是在设备改变方向时重新组织子视图位置。
layoutSubviews
方法将在系统认为您的视图需要重新布局时随时调用。 例如,如果视图的框架被改变,或者子视图被添加等等。如果你需要手动触发这个,你可以调用setNeedsLayout
方法。