У меня конфликт NSLayoutConstraint
, когда я пытаюсь вручную установить ограничения IBOutlet
. По сути, я просто помещаю взгляды в раскадровку, чтобы получить общее представление о том, как они будут выглядеть, и затем создать IBOutlet
s для ссылки на них. Но все ограничения добавляются в код:Конфликт ограничений IBOutlets
class LoginViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var view1: UIView!
@IBOutlet weak var view2: UView2!
@IBOutlet weak var name: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
view2.addSubview(name)
//add constraints
NSLayoutConstraint(item: view1, attribute: .CenterX, relatedBy: .Equal, toItem: self.view, attribute: .CenterX, multiplier: 1, constant: 0).active = true
NSLayoutConstraint(item: view1, attribute: .CenterY, relatedBy: .Equal, toItem: self.view, attribute: .CenterY, multiplier: 1, constant: -self.view.frame.height * 0.07).active = true
NSLayoutConstraint(item: view1, attribute: .Width, relatedBy: .Equal, toItem: self.view, attribute: .Width, multiplier: 0.8, constant: 0).active = true
NSLayoutConstraint(item: view1, attribute: .Height, relatedBy: .Equal, toItem: self.view, attribute: .Height, multiplier: 0.4, constant: 0).active = true
NSLayoutConstraint(item: view2, attribute: .Width, relatedBy: .Equal, toItem: view1, attribute: .Width, multiplier: 1, constant: 0).active = true
NSLayoutConstraint(item: view2, attribute: .CenterX, relatedBy: .Equal, toItem: view1, attribute: .CenterX, multiplier: 1, constant: 0).active = true
NSLayoutConstraint(item: view2, attribute: .Top, relatedBy: .Equal, toItem: view1, attribute: .Bottom, multiplier: 1, constant: self.view.frame.height * 0.01).active = true
NSLayoutConstraint(item: view2, attribute: .Height, relatedBy: .Equal, toItem: self.view, attribute: .Height, multiplier: 0.1, constant: 0).active = true
}
}
NSLayoutConstraint
конфликт уходит, когда я просто создать представление в коде, т.е. var view2 = UIView()
или если я закомментировать ограничения view2
«s. Я не понимаю.
EDIT: на основании журнала проблема выглядит NSIBPrototypingLayoutConstraint
и UIView-Encapsulated-Layout-Height'
для view2
, хотя в раскадровке нет ограничений макета. Что меня смущает, почему у view1
есть эта проблема, так как они были добавлены в раскадровку?
Вы удалили все ограничения из SB? – sschale
Да. Я дважды проверял – Liumx31