繁体   English   中英

自动布局问题

[英]Auto-layout issue

约束

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

iPhone 4s iPhone 8 加

如果您使用的是自动布局,那么像这样设置约束

在此处输入图片说明

更新

对于特定比率:据我所知,我们可以为Centre Vertically Constraints提供乘数。 这里的上下空间比例在所有 iPhone 系列中都是一样的。 我给乘数为1.4

在此处输入图片说明

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

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

拖动两个 UIButton,选择那两个 UIButton,从这里单击Embed in Stack图标。

在此处输入图片说明

堆栈视图属性

为 UIStackView 提供以下内容,

Attributes Inspector中将Axis设置为HorizontalDistributionFill EquallySpacing10

在此处输入图片说明

Stackview 约束 1

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

在此处输入图片说明

Stackview 约束 2

尽管如此,一些限制条件仍未得到满足。 按住Control并按住它,单击StackView并拖动到SuperView ,您将弹出黑色。 Center Vertically in container选择Center Vertically in container

在此处输入图片说明

Stackview 约束自定义

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

在此处输入图片说明

在此处输入图片说明

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

您应该有 2 个堆栈视图。 一个包含 2 个按钮的 Horizo​​ntal 和另一个包含前一个堆栈视图的垂直。 将水平堆栈视图设置为“填充”和“等间距”,将垂直堆栈视图设置为“填充”和“等距”。 下面我放了几张图片来说明我的意思。

唯一的约束是将它们绑定到容器视图或父堆栈视图的大小的堆栈视图上。

这使您可以真正创建随设备屏幕尺寸缩放的自动布局。

嵌套的StackViews

堆栈视图的属性

在此处输入图片说明

1) 选择两个按钮

2)单击底部的“解决自动布局问题”按钮,然后单击“重置为选定的约束”

在此处输入图片说明

像这样使用约束。 这些按钮具有超级视图的底部固定。

像这样的用户约束

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM