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 自动布局调整大小问题的主要内容,如果未能解决你的问题,请参考以下文章
在启用自动布局的情况下调整 swift/xcode 中的按钮大小