自动布局的问题

Posted

技术标签:

【中文标题】自动布局的问题【英文标题】:Problems with autolayout 【发布时间】:2015-01-15 01:14:17 【问题描述】:

我在使用自动布局时遇到问题。我需要做什么: 使用自动布局调整视图 (V1),然后在其中设置不同的视图 (V2)(带有图表的自定义视图)。问题: 当我在情节提要中设置 V1 的宽度和高度时,它的框架为:0,0,600,300(大小类已打开),在运行时超级视图的宽度为 320,例如,但是当我尝试查看框架时V1 在运行时仍然宽度为 600。我的问题: 有没有办法找出哪个是 V1 的“真实”框架?它在运行时假定的宽度值?

【问题讨论】:

【参考方案1】:

首先,找出框架问题的原因是您在错误的时间要求框架,即太快了。您必须等到布局发生之后。

真正的答案是你的想法是完全错误的。创建 V2 并使其成为 V1 的子视图,并使用约束对其进行定位和调整大小。在这里也使用自动布局!这样,相对于 V1,无论 V1 发生什么,它都是正确的。您永远不必知道 V1 的框架是什么! 这就是自动布局的重点!!不要破坏自动布局或尝试解决它; 使用它!

【讨论】:

我的书教你如何在代码中制作视图,将其添加到界面,并对其应用约束:apeth.com/iosBook/ch14.html#_autolayout 马特感谢您的回答!它让我思考,我找到了解决问题的方法!如您所说,我直接在 V2 上应用了自动布局,并更改了图表上的一些配置以在设置视图后加载。

以上是关于自动布局的问题的主要内容,如果未能解决你的问题,请参考以下文章

自动布局是拉伸图像,自动布局,ios

在 iOS 6 中启用自动布局,在 < iOS6 中禁用自动布局

为啥自动布局与此布局有问题

具有自动布局的动态 uiview 布局

Xcode 6 - 另一个自动布局视图中的自动布局视图

使用手动约束的自动布局[关闭]