Ich dachte, ich dies richtig tat, addItemButton Zugabe vor dem self.view versuchen, die Einschränkungen zu aktivieren, aber es wird diesen Fehler werfen:Programmatische Einschränkungen
‚kann nicht Einschränkung mit Ankern aktivieren und weil sie keine gemeinsamen Vorfahr. Verweist die Einschränkung oder ihre Anker auf Elemente in verschiedenen Ansichtshierarchien? Das ist illegal.
var addItemButton: UIButton{
let button = UIButton()
let dim: CGFloat = 64.0
button.frame = CGRect(x: 0, y: 0, width: dim, height: dim)
button.tintColor = Constants.color4
button.layer.cornerRadius = dim/2
button.layer.masksToBounds = true
button.translatesAutoresizingMaskIntoConstraints = false
return button
}
extension MainViewController{
func setupView(){
view.addSubview(itemsCollectionView)
view.addSubview(addItemButton)
addItemButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
addItemButton.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
}
}
Ich dachte, view.addSubView (addItemButton) würde die erforderliche Hierarchie erstellen.
wertvolle Lektion gelernt, danke:
Sie sollten die Variable auf einen
lazy
ein, aus einem Verschluss initialisiert konvertieren. – Latcie