xcode自动布局问题

Posted

技术标签:

【中文标题】xcode自动布局问题【英文标题】:xcode auto layout issue 【发布时间】:2016-04-08 05:43:22 【问题描述】:

在我的 swift 2 应用程序中,我使用自动布局。 但目前我有一个问题,我无法解决。

这对你来说可能是一个简单的问题,但对我来说很难理解。

视图控制器中有一个标签,它有一个垂直中心位置,宽度为240。 我理解“问题”,但我不知道,我该如何解决它......

【问题讨论】:

这并不能解决问题:/ 好的,感谢您的留言。 如果我删除边距约束,“添加缺失约束”功能将被禁用 你有宽度,导致superview,尾随到superview约束吗?删除其中一个约束并更新其框架。如果要在超级视图的中心保留标签,请删除前导和尾随超级视图并创建水平中心约束。 有什么问题? 【参考方案1】:

自动布局可能会让人感到困惑,尤其是刚开始时。您应该花一些时间观看或阅读网络上的优秀教程。

可能您将标签拖到画布上,设置了一些约束,然后尝试调整标签的大小以使其看起来像您想要的那样。

问题在于,虽然这会改变您在画布上看到的内容,但约束并没有改变。这些警告是为了让您知道您所看到的不是现实。

您可以通过右键单击并选择修复错位视图的选项轻松消除警告。

这样做是更新画布以匹配您设置的约束。您的标签可能会移动并改变大小。

现在,您可能会不喜欢执行此操作后看到的内容。但现在要做的是改变约束,而不是画布上的标签。

值得注意的一点是标签具有固有大小。这意味着标签本身的宽度和高度是由里面的文字决定的。

通常您只需要设置一个约束来水平放置标签,另一个约束来垂直放置它。实际上,您可能会先尝试查看是否可以先将标签水平和垂直居中,然后再继续按照您真正想要的方式定位它。

【讨论】:

【参考方案2】:

我猜你希望标签放置在屏幕的中心,如果是这样,宽度、centerX 和 centerY 约束就可以了。如果你在标签中的文本更改时收到警告信息,只需修复它通过调整框架。

【讨论】:

【参考方案3】:

您是否尝试过在 ViewController 场景中使用布局选项?您可以使用约束来调整您的应用程序想要的方式。

【讨论】:

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

约束/自动布局栏隐藏,Xcode 6

Xcode 自动布局和旋转

Xcode 8 - 自动布局问题

Xcode 4.1+ 自动布局复选框丢失

使用自动布局 Xcode 居中

自动布局 Xcode 6