Я хочу добавить кнопку в качестве подвида корневого представления. Кнопка должна располагаться горизонтально в центре, а также вертикально в центре супервизора. Я использую NSLayoutConstraints
программно. Это мой код.
class ViewController: UIViewController {
var button: UIButton!
override func motionEnded(motion: UIEventSubtype, withEvent event: UIEvent?) {
button = UIButton()
button.setTitle("Hello World", forState: .Normal)
button.backgroundColor = UIColor.blueColor()
button.sizeToFit()
self.view.addSubview(button)
NSLayoutConstraint.activateConstraints([
NSLayoutConstraint(item: button, attribute: .CenterX, relatedBy: .Equal, toItem: self.view, attribute: .CenterX, multiplier: 1, constant: 0),
NSLayoutConstraint(item: button, attribute: .CenterY, relatedBy: .Equal, toItem: self.view, attribute: .CenterY, multiplier: 1, constant: 0)
])
}
}
Я получаю следующее предупреждающее сообщение, также я не получил желаемых результатов.
20.07.2016 11:01:10.187 build[26982:309535] Невозможно одновременно удовлетворить ограничения. Вероятно, по крайней мере одно из ограничений в следующем списке вам не нужно.
Попробуй это:
(1) посмотрите на каждое ограничение и попытайтесь выяснить, чего вы не ожидаете;
(2) найти код, который добавил нежелательное ограничение или ограничения, и исправить его. (Примечание. Если вы видите NSAutoresizingMaskLayoutConstraints, значение которых вам непонятно, обратитесь к документации по свойству UIView translatesAutoresizingMaskIntoConstraints) ( "", "", " (Имена: '|':UIViewControllerWrapperView:0x7faa4be31770 )>", "" )
Попытается восстановиться, нарушив ограничение
Установите символическую точку останова в UIViewAlertForUnsatisfiableConstraints, чтобы отловить это в отладчике. Также могут быть полезны методы из категории UIConstraintBasedLayoutDebugging в UIView, перечисленные в . 20.07.2016 11:01:10.188 build[26982:309535] Невозможно одновременно удовлетворить ограничения. Вероятно, по крайней мере одно из ограничений в следующем списке вам не нужно.
Попробуйте следующее: (1) посмотрите на каждое ограничение и попытайтесь выяснить, чего вы не ожидаете;
(2) найти код, который добавил нежелательное ограничение или ограничения, и исправить его. (Примечание. Если вы видите NSAutoresizingMaskLayoutConstraints, значение которых вам не понятно, обратитесь к документации по свойству UIView translatesAutoresizingMaskIntoConstraints) ( "", "", "", " (Names: '|':UIViewControllerWrapperView:0x7faa4be31770 )>" )
Попытается восстановиться, нарушив ограничение
Установите символическую точку останова в UIViewAlertForUnsatisfiableConstraints, чтобы отловить это в отладчике. Также могут быть полезны методы из категории UIConstraintBasedLayoutDebugging в UIView, перечисленные в .