繁体   English   中英

如何将四个uibutton彼此等距居中?

[英]How do I center 4 uibuttons with equal distance from each other?

我有4个uibutton。 每个按钮必须为100x100。 我想将其中的四个居中(水平)在屏幕中央,但将其垂直放下。 我不知道从哪里开始,但是我听说stackviews可以工作吗? 不确定。 我尝试使用基本约束,但无法使其正常工作。

这就是我想要得到的: 在此处输入图片说明

步骤1:-在情节提要中选择4按钮。 Button1,Button2,Button3,Button4

步骤2:-将固定的高度和宽度赋予所有按钮。

在此处输入图片说明

步骤3:-在2个stackview中的所有2-2个按钮对。

在此处输入图片说明

步骤4:-都设置UIStackview属性。

      Distribution -> Fill Equally
           Spacing -> 5 (as per your requirement)

在此处输入图片说明


在此处输入图片说明

步骤5:-将两个Stackview都添加到一个Stackview中

在此处输入图片说明

步骤6:-设置Distribution = Fill equally Spacing =5在主堆栈视图中Distribution = Fill equally Spacing =5 (根据您的要求设置)

在此处输入图片说明

步骤7:-现在将Constrain设置为main stackview

      center Horizontally in container

      center vertically in container

        and select Update Frame.

在此处输入图片说明

步骤8:-现在是输出所有设备的时间了。

在此处输入图片说明

希望对您有帮助。

看一下的方法有很多:

理念:

  1. 首先,将所有按钮都等于宽度和高度约束,然后向其中一个按钮添加宽度和高度100约束。

  2. 对于每个按钮中心,相对于其父对象的X / Y。 约束:对齐中心X,对齐中心Y

  3. 向常量添加偏移量(在界面构建器中):

    • 左上按钮:X偏移-60,Y偏移-60
    • 右上按钮:X偏移量为60,Y偏移量为-60
    • 左下按钮:X偏移-60,Y偏移60
    • 右下按钮:偏移X为60,Y为60。

快速示例(我在IB中做了约束): https : //github.com/Abreu0101/ButtonLayout

========

您拥有的另一种选择是在按钮之间使用透明视图,并将该视图的(透明)居中,并基于这些视图向按钮添加约束(有时我会用到棘手的技巧,但是这完全取决于您的需要)。

您也可以在不使用UIStackView的情况下尝试此操作(如果需要在<iOS 9上运行) 在此处输入图片说明

暂无
暂无

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

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