自动布局问题

时间:2018-02-14 11:50:29

标签: ios autolayout

constraints

我有两个按钮的视图。我添加了自动布局。但iPhone 8中的底部空间比iPhone 4更多。我想在所有iPhone中保持顶部和底部的间距比相同。如何解决?

iPhone 4s iPhone 8 plus

6 个答案:

答案 0 :(得分:1)

如果您使用的是自动布局,请按照这种方式设置约束

enter image description here

答案 1 :(得分:1)

<强>更新

对于特定比率:根据我的理解,我们可以为Centre Vertically Constraints提供乘数。所有iPhone系列中顶部和底部空间的比例都相同。我将乘数设为1.4

enter image description here

==================================

我知道那里有几个答案。但是,没有人使用UIStackView添加两个简单的按钮。

拖动两个UIButton,选择两个UIButton,单击此处的Embed in Stack图标。

enter image description here

Stackview属性

为UIStackView提供以下内容,

Axis设为Horizontal,将Distribution设为Fill Equally,将Spacing设为10

中的Attributes Inspector

enter image description here

Stackview约束1

为UIStackView提供约束,选中/取消选中边距,左和右= 0,高度为30。

enter image description here

Stackview约束2

但是,一些限制因素并未得到满足。按Control并按住它,点击StackView并拖动到SuperView,您将弹出黑色。选择Center Vertically in container

enter image description here

Stackview限制自定义

如果要更改UIButton或底部空间的高度,请单击UIStackView,然后在Size Inspector中,您可以更改高度或向上/向下移动。

enter image description here

答案 2 :(得分:0)

enter image description here

将约束设置为底部并保留顶部约束

答案 3 :(得分:0)

你应该有2个堆栈视图。一个水平包含2个按钮,另一个包含前一个堆栈视图。将水平堆栈视图设置为“填充”和“等间距”,将垂直堆栈视图设置为“填充”和“等于居中”。下面我列出了几张照片来说明我的意思。

唯一的约束是在堆叠视图中将它们与容器视图或父母堆叠视图的大小联系起来。

这使您可以真正创建一个随设备屏幕大小缩放的自动布局。

NestedStackViews

Properties of Stack View

enter image description here

答案 4 :(得分:0)

1)选择两个按钮

2)点击&#34;解决自动布局问题&#34;按钮在底部,然后单击&#34;重置为选定的约束&#34;

enter image description here

答案 5 :(得分:0)

使用这样的约束。这些按钮底部修复了superview。

User Constraints like this