Noch einmal Auto-Layout hat mich am Kopf kratzen. Ich definiere eine UIView und UITextField an der Spitze meiner Klasse:SIGABRT beim Hinzufügen einer Einschränkung zu einer uiview
var urlField = UITextField(frame: .zero)
var barView = UIView(frame: .zero)
ich meine Konfigurationsmethode von viewWillAppear nennen (so weiß ich, dass self.view ganz eingestellt):
override func viewWillAppear(_ animated: Bool) {
configureURLBar()
}
Und ich m nichts Besonderes zu tun.
func configureURLBar() {
barView.translatesAutoresizingMaskIntoConstraints = false
barView.topAnchor.constraint(equalTo: self.view.layoutMarginsGuide.topAnchor).isActive = true
barView.heightAnchor.constraint(equalToConstant: 30).isActive = true
}
Wenn es zu der TopAnchor-Einschränkung kommt, bekomme ich die Ausnahme, und ich verstehe nicht warum. Wenn ich die 2. und 3. Zeile umkehre, explodiert es nicht, bis es die .topAnchor-Zeile erreicht, also ist das das Problem. Ich kann eine zweite Frage stellen, sobald ich den Grund für diese Ausnahme verstehe (falls Sie sich fragen, was ich versuche): Wie füge ich eine Benutzereingabeleiste (URL) oben in meinem UIWebView hinzu. (Das hat auch nicht geklappt - gleiche Ergebnisse, wenn ich versuche, mich gegen meine self.webView zu beschränken, die perfekt angezeigt wird) Außerdem: Ich rufe self.view.setNeedsDisplay() auf, bevor viewWillAppear() aufgerufen wird.
Natürlich! Ich brauche Kaffee, dann schreibe ich eine Checkliste (Schritte) für das automatische Layout. So viele Dinge auf einmal zu verfolgen! Vielen Dank. – Mozahler