再一次,自動佈局讓我撓了撓頭。我定義一個UIView,同時也是UITextField在我班上的第一名:SIGABRT向UI視圖添加約束條件
var urlField = UITextField(frame: .zero)
var barView = UIView(frame: .zero)
我打電話從viewWillAppear中我的配置方法(所以我知道self.view是所有設置):
override func viewWillAppear(_ animated: Bool) {
configureURLBar()
}
而且我在那裏沒有什麼特別的。
func configureURLBar() {
barView.translatesAutoresizingMaskIntoConstraints = false
barView.topAnchor.constraint(equalTo: self.view.layoutMarginsGuide.topAnchor).isActive = true
barView.heightAnchor.constraint(equalToConstant: 30).isActive = true
}
當它到達topAnchor約束我得到的例外,我不明白爲什麼。如果我將第二行和第三行顛倒過來,它不會爆炸,直到它到達.topAnchor線,所以這就是問題所在。一旦我理解了這個異常的原因(如果你想知道我在做什麼),我可以問第二個問題:我如何在UIWebView的頂部添加一個用戶輸入(url)欄。 (這也不起作用 - 如果我試圖限制我的self.webView完全顯示,則結果相同)另外:我在調用viewWillAppear()之前調用self.view.setNeedsDisplay()。
當然!我需要一些咖啡,然後我會爲自動佈局編寫一個清單(步驟)。這麼多事情要一次追蹤!非常感謝。 – Mozahler