以编程方式设置UIButton的中心 - SWIFT

the*_*aps 9 uibutton uiview ios swift

我有一个UIButton内部UIView,我UIButton有我在故事板中设置的约束.现在,我想设置中心UIButton的中心UIView.我将如何以编程方式执行此操作?

iRi*_*iya 22

尝试.center像财产一样

myButton.center = self.view.center
Run Code Online (Sandbox Code Playgroud)

您也可以指定x,y如果需要.

myButton.center.x = self.view.center.x // for horizontal
myButton.center.y = self.view.center.y // for vertical
Run Code Online (Sandbox Code Playgroud)


小智 8

这种方法使用Using NSLayoutConstraint,其中self.cenBut是按钮的IBoutlet.

func setupConstraints() {
    let centerX = NSLayoutConstraint(item: self.cenBut, attribute: NSLayoutAttribute.CenterX, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.CenterX, multiplier: 1, constant: 0)
    let centerY = NSLayoutConstraint(item: self.cenBut, attribute: NSLayoutAttribute.CenterY, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.CenterY, multiplier: 1, constant: 0)
    let height = NSLayoutConstraint(item: self.cenBut, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1, constant: 22)
    self.cenBut.translatesAutoresizingMaskIntoConstraints = false
    self.view.addConstraints([centerX, centerY, height])
}
Run Code Online (Sandbox Code Playgroud)

在viewDidLoad()中

self.view.removeConstraints(self.view.constraints)
self.setupConstraints()
Run Code Online (Sandbox Code Playgroud)