我使用stackview将textfield,view和tableview一起堆叠。当我对视图进行约束时,
我设置左边约束为20,右边约束为20,两个按钮,更多,
我在两个按钮上添加宽度约束,但最后按钮显示宽度不同,并且看起来不能模拟器的中心。
如何让它成为中心?
答案 0 :(得分:1)
我的工作假设你希望你的观点看起来像这样:
V:textField - viewWithButtons - tableView
对于你的按钮,我会突出显示它们并将它们变成水平堆栈。在属性检查器下,使对齐填充,分布填充相等,间隔8(或任何您想要的)。
从那里,点击您的textFieldView
,horizontalStackViewiewWithButtons
和tableView
,然后将其转换为垂直堆栈。从那里,从文档大纲中选择您的verticalStack,然后单击屏幕右下角的Pin按钮。左右引脚为0,顶部引脚为“使用标准值”
从那里开始,当您添加约束时,以“向内”的方式工作。外部堆栈主要是照顾。您可能希望为textFieldView
和horizontalStackViewWithButtons
的高度添加一个图钉。
答案 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:
真正简单的解决方案只是为故事板中的两个按钮设置相等的宽度。
您还需要按钮之间的水平间距