如何使用自动布局来对齐这两个 UIButton?

Posted

技术标签:

【中文标题】如何使用自动布局来对齐这两个 UIButton?【英文标题】:How do I use autolayout to align these two UIButtons? 【发布时间】:2016-04-26 16:33:15 【问题描述】:

我有一个自定义 UIView XIB 文件,其中放置了两个按钮:

Image of Buttons Here

如何以编程方式 (Swift) 或使用界面对齐这些按钮,使其看起来像这样?

目前,我明白了

Current Buttons (BAD)

按照 Alexander 的方法,我这样做了,这是我当前的约束和工作空间。

【问题讨论】:

如果您只支持ios9及以上,则将两个按钮添加到水平的UIStackView并设置为Fill Equally。然后将UIStackView 的顶部、前缘和后缘固定到超级视图的边缘。 UIStackViews 极大地简化了自动布局。 这可能会有所帮助***.com/questions/29620409/… 【参考方案1】:

为 Button 1 添加以下约束:

引领空间到superview 与按钮 2 等宽 与按钮 2 等高 到按钮 2 的水平间距

对于按钮 2:

SuperView 的尾随空格 到按钮 1 的水平间距 与按钮 1 等宽 与按钮 1 等高

【讨论】:

您也应该将按钮固定到超级视图的顶部和底部。现在,yheight 都没有受到限制(height 将从其中一个按钮的内容中假定) 如果高度不恒定则为真,否则您需要从超级视图中为垂直位置添加顶部和高度约束【参考方案2】:

只需按照以下步骤:

步骤 1.选择 LEFT IMAGE 并设置这些约束

左 顶部 底部

快照显示:

第 2 步:选择右图并设置以下约束: - 对 - 顶部 - 底部

快照在这里:

Step 3 :Select Left Image and CMD+ 将鼠标从左向右拖动并选择SELECT HORIZONTAL SPACING

此处截图:

第 4 步:选择 Left Image 和 CMD+ 从左到右拖动鼠标并选择 EQUAL WIDTH 作为第 3 步中所示的图像。

解决了!

希望对你有帮助。

【讨论】:

我完全按照你说的做了,但它不起作用。是因为我是在 UIView XIB 文件中做的吗? 我不知道如何上传图片,但这些是我的限制,我可能错过了什么吗? s32.postimg.org/jyxydd0lx/… 选择图片不是视图,如果你在 xib 上放了另一个 uiview,那么你也需要设置图片约束 你在说什么图片? 两个图像(此处:按钮),您将对其应用约束【参考方案3】:
    首先“控件”单击并从一个按钮拖动到另一个按钮,然后将其设置为如下图 1 所示。

IMAGE1 - http://imgur.com/J3nmkIx

    将引脚设置到对角并取消点击“限制到边距”

IMAGE2 - http://imgur.com/ciBtnLz

【讨论】:

【参考方案4】:

在 IB 中添加这样的约束: 等宽

等高

将一个按钮的顶部固定到另一个按钮的顶部

也用于底部

为左下设置left、top、width和height

【讨论】:

以上是关于如何使用自动布局来对齐这两个 UIButton?的主要内容,如果未能解决你的问题,请参考以下文章

使用自动布局创建带有文本和图像的 iOS 7 UIButton

如何使用大小类和自动布局在 Xib 中水平对齐两个 UI 按钮

使用自动布局对齐两个 uiviews

如何使用自动布局将两个具有动态高度的 UILabel 与 UICollectionViewCell 的底部对齐

自动布局将两个标签彼此相邻对齐

自动布局问题