答案 0 :(得分:1)
如果我是你,我会以编程方式制作它们。如果它们包含在视图中,这将起作用。下面的代码假设您想要在viewController中居中按钮。
以编程方式制作UIButtons
在ViewDidLoad中:
let myFirstXCoordinate = CGFloat((self.view.width / 4) - (myWidth / 2))
let mySecondXCoordinate = CGFloat((3 * self.view.width) / 4) - (myWidth / 2))
let myWidth:CGFloat = //your button's width
let myHeight:CGFloat = //your button's height
let myYCoordinate:CGFloat = //your Y Coordinate
firstButton.setBackgroundImage(UIImage(named: "myRedOvalThingyImage"), forState: .Normal)
firstButton.backgroundColor = UIColor.clearColor()
firstButton.frame = CGRectMake(myFirstXCoordinate, myYCoordinate, myWidth, myHeight)
firstButton.addTarget(self, action: #selector(ViewController.pressedFirst(_:)), forControlEvents: .TouchUpInside)
buttonView.addSubview(firstButton)
secondButton.setBackgroundImage(UIImage(named: "myRedOvalThingyImage"), forState: .Normal)
secondButton.backgroundColor = UIColor.clearColor()
secondButton.frame = CGRectMake(mySecondXCoordinate, myYCoordinate, myWidth, myHeight)
secondButton.addTarget(self, action: #selector(ViewController.pressedSecond(_:)), forControlEvents: .TouchUpInside)
buttonView.addSubview(secondButton)
在ViewDidLoad之外:
func pressedFirst(sender: UIButton!) {
print("First Oval Thingy Was Pressed")
}
func pressedSecond(sender: UIButton!) {
print("Second Oval Thingy Was Pressed")
}
答案 1 :(得分:0)
使用约束时,必须使用阻止。
在这种情况下,您应该有2个块,两个块的大小都相同,从0到中心,并以父级的宽度为中心。
示例:强>
Parent Width: 320
let widthBlock = 320/2
block 1: x = 0, width = widthBlock
block 2: x = widthBlock, width = widthBlock
然后在每个块中创建按钮,并使用约束垂直和水平居中。
当您使用界面时,它更简单,只需从按钮拖动即可阻止他的父亲Center Horizontal in Container
和Center vertically in container
。
答案 2 :(得分:0)
您可以通过向左,中,右添加三个空间视图(UIvews)来实现自动布局。
完成视图后看起来像
答案 3 :(得分:0)