2016-04-30 4 views
0

Я пытаюсь добавить кнопку прагматично в UIView. Этот код будет работать с ярлыком пользовательского интерфейса, но при использовании его с помощью кнопки ограничения не выполняются. Как я могу сделать эту работу? Благодарю.UIButton Constraint Failure, но работает с UILabel

let homeButton = UIButton(frame: CGRectZero) 
    homeButton.setTitle("Home", forState: .Normal) 
    homeButton.titleLabel!.textAlignment = NSTextAlignment.Center 
    homeButton.titleLabel!.textColor = UIColor.whiteColor() 
    homeButton.titleLabel!.translatesAutoresizingMaskIntoConstraints = false 
    containerView.addSubview(homeButton) 

    let buttonWidthConstraint = NSLayoutConstraint(item: homeButton, attribute: .Width, relatedBy: .Equal, toItem: self.containerView, attribute: .Width, multiplier: 0.5, constant: 0) 
    containerView.addConstraint(buttonWidthConstraint) 
    let buttonHeightConstraint = NSLayoutConstraint(item: homeButton, attribute: .Height, relatedBy: .Equal, toItem: self.containerView, attribute: .Height, multiplier: 0.5,constant: 0) 
    containerView.addConstraint(buttonHeightConstraint) 

    let buttonXConstraint = NSLayoutConstraint(item: homeButton, attribute: .CenterX, relatedBy: .Equal, toItem: self.containerView, attribute: .CenterX, multiplier: 1, constant: 0) 
    let buttonYConstraint = NSLayoutConstraint(item: homeButton, attribute: .CenterY, relatedBy: .Equal, toItem: self.containerView, attribute: .CenterY, multiplier: 1, constant: 0) 
    containerView.addConstraint(buttonXConstraint) 
    containerView.addConstraint(buttonYConstraint) 
+1

использовать 'homeButton.translatesAutoresizingMaskIntoConstraints = false' –

+0

Это работает. благодаря – Clint

ответ

0

вы должны использовать homeButton.translatesAutoresizingMaskIntoConstraints = false вместо homeButton.titleLabel!.translatesAutoresizingMaskIntoConstraints = false.

, потому что вы должны отключить авторезистор для button не для кнопки titleLabel !!!

Надеется, что это поможет :)

Смежные вопросы