Xcode 自动布局调整大小问题

Posted

技术标签:

【中文标题】Xcode 自动布局调整大小问题【英文标题】:Xcode Auto Layout Resizing Issue 【发布时间】:2017-07-02 06:59:53 【问题描述】:

我正在尝试在我的 Xcode 应用程序上的多个按钮和功能上使用自动布局,但是当我尝试自动布局其中一个按钮时,它的大小会发生变化

如图所示:http://imgur.com/a/EuBBe

我在标签上使用过它,有时它不会改变它的大小,但在其他的时候它会改变。

我怎样才能阻止这种情况发生?

谢谢

【问题讨论】:

确保在开始前清理所有约束 到目前为止,您刚刚提到了按钮的位置,因此它根据您的位置和一些默认大小进行布局。但是,当您提供它的高度和宽度或尾随和底部时,在这种情况下,它不会像现在一样改变它的大小。 我在上一个项目中做了非常相似的事情。如果您对 Lawliet 的回答不满意,将发布答案 @DarkInnocence 如果可以的话就完美了 【参考方案1】:

添加宽度和高度约束以获得所需的按钮大小。

【讨论】:

我试过了,但是我需要按钮随着屏幕的大小而变化,否则它们会重叠并且无法使用【参考方案2】:

对于 Xcode 9、Swift 4,LayoutGuides 已弃用。如果您使用的是 Swift 3,我建议您只使用 Auto-Resizing 遮罩来防止 ios 11 出现任何问题。当包含在父视图中时,约束将继续用于子视图对象。该文档指出它已被 iOS 7-11 弃用;但是,我在整个 iOS 10 中都使用了布局指南,并且从未出现任何错误或警告。 iOS 11 中出现警告。

请参阅此处的文档: https://developer.apple.com/documentation/uikit/uiviewcontroller

在此处查看图片: Death to Layout Guides

【讨论】:

【参考方案3】:

首先清除之前应用的所有约束。给出如下约束:- 1) 领先 2) 热门 3) 纵横比 4) 与 Superview 等宽:-假设您的 Button 宽度为 100,如果您的 iPhone 尺寸为 5.5S,则等宽:- 乘数应为 100:320

所以,当设备尺寸改变时,它会是动态的,此时按钮的尺寸也会根据设备而变化

【讨论】:

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

如何在 xcode 自动布局中使对象自动调整大小?

在启用自动布局的情况下调整 swift/xcode 中的按钮大小

如何使用自动布局调整情节提要的图像大小?

Xcode 自动布局和旋转

如何使用 Xcode 8 上的自动布局调整对象的大小以适应不同的屏幕尺寸?

如何自动调整可可 xcode 的大小?