如何在没有交叉边界的中心制作两个按钮中心视图?

时间:2016-02-11 12:06:30

标签: ios swift

查看screenshot

我使用stackview将textfield,view和tableview一起堆叠。当我对视图进行约束时,

我设置左边约束为20,右边约束为20,两个按钮,更多,

我在两个按钮上添加宽度约束,但最后按钮显示宽度不同,并且看起来不能模拟器的中心。

如何让它成为中心?

2 个答案:

答案 0 :(得分:1)

我的工作假设你希望你的观点看起来像这样:

V:textField - viewWithButtons - tableView

对于你的按钮,我会突出显示它们并将它们变成水平堆栈。在属性检查器下,使对齐填充,分布填充相等,间隔8(或任何您想要的)。

从那里,点击您的textFieldViewhorizontalStackViewiewWithButtonstableView,然后将其转换为垂直堆栈。从那里,从文档大纲中选择您的verticalStack,然后单击屏幕右下角的Pin按钮。左右引脚为0,顶部引脚为“使用标准值”

从那里开始,当您添加约束时,以“向内”的方式工作。外部堆栈主要是照顾。您可能希望为textFieldViewhorizontalStackViewWithButtons的高度添加一个图钉。

答案 1 :(得分:0)

我也是ios的新手,只是我的建议试试这个。

在两个按钮的故事板设置宽度约束中

在swift代码中为该约束创建引用。

@IBOutlet weak var height1: NSLayoutConstraint!
@IBOutlet weak var height2: NSLayoutConstraint!

在您的视图中,将显示方法使用您的屏幕宽度计算宽度,例如

let screenSize: CGRect = UIScreen.mainScreen().bounds;
let width = screenSize.width;

//然后你需要删除约束空格,所以

left(10) - Button1 - middle(10) - Button2 - Right(10) 所以toatal 30

let width_available = screenSize.width - 30;
height2.constant = width_available/2
height1.constant = width_available/2

修改1:

真正简单的解决方案只是为故事板中的两个按钮设置相等的宽度。

您还需要按钮之间的水平间距