繁体   English   中英

在自动布局下,何时设置视图的框架?

[英]Under auto layout, when is a view's frame set?

如果启用了自动布局,则无需自行设置视图框架。 自动布局可以帮助我们计算视图的大小和原点。 我们可以在控制器方法“ viewDidAppear”中获取框架。 但是我想知道视图在其生命周期中何时获得其计算框架?

当一个视图收到layoutSubviews消息时,它会基于自动布局设置其子视图的框架。 从文档中

此方法的默认实现在iOS 5.1及更早版本上不执行任何操作。 否则,默认实现将使用您设置的任何约束来确定任何子视图的大小和位置。

这就是为什么在您自己的UIView子类中重写layoutSubviews并使用自动布局时,调用[super layoutSubviews]很重要的原因。

在自动布局中,您无需设置框架。 只需将对象初始化为[[object alloc] init]并通过自动布局约束控制其位置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM