0
私はすべての制約を削除し、コードから新しいものを追加することが、彼らはここ なぜ私の制約が機能しないのですか?
を台無しにされていますビュー負荷が私のコードであるときに(私はそれが持つ悪いスタイルを作られたコードであることを知っているInterface Builderでいくつかの制約がありますそれのために残念フラグなど、しかし、問題は、なぜそれがレイアウト間違っを作っている):override func viewWillAppear(animated: Bool) {
super.viewWillAppear(true)
self.view.layoutIfNeeded()
self.view.setNeedsUpdateConstraints()
self.view.layoutIfNeeded()
self.buttonsArray.forEach() { button in
NSLayoutConstraint(item: button, attribute: .CenterX, relatedBy: .Equal, toItem: self.view, attribute: .CenterX, multiplier: 1, constant: 0).active = true
NSLayoutConstraint(item: button, attribute: .CenterY, relatedBy: .Equal, toItem: self.view, attribute: .CenterY, multiplier: 1, constant: 0).active = true
NSLayoutConstraint(item: button, attribute: .Height, relatedBy: .Equal, toItem: self.view, attribute: .Height, multiplier: 0.15, constant: 0).active = true
}
}
var flagForOriginalConstraints = 0
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if flagForOriginalConstraints == 0 {
self.constraintsArray = self.view.constraints
self.flagForOriginalConstraints += 1
return
}
if flagForOriginalConstraints == 1 {
self.view.removeConstraints()
self.flagForOriginalConstraints += 1
return
}
}
thatsを返します。 –