gpt4 book ai didi

swift - 向 uiview 添加约束时的 SIGABRT

转载 作者:可可西里 更新时间:2023-11-01 00:01:24 27 4
gpt4 key购买 nike

自动布局再次让我摸不着头脑。我在类的顶部定义了一个 UIView 和 UITextField:

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 约束时,我得到异常,我不明白为什么。如果我反转第 2 和第 3 行,它在到达 .topAnchor 行之前不会爆炸,所以这就是问题所在。一旦我理解了这个异常的原因(以防你想知道我想做什么),我可以问第二个问题:如何在我的 UIWebView 的顶部添加一个用户输入 (url) 栏。 (这也不起作用 - 如果我尝试限制显示完美的 self.webView,结果相同)另外:我在调用 viewWillAppear() 之前调用 self.view.setNeedsDisplay()。

最佳答案

您必须先将您的 View 添加到父 View 。之后,您可以添加约束。

试试这个:

override func viewWillAppear(_ animated: Bool) 
{
self.view.addSubview(barView)
configureURLBar()
}

关于swift - 向 uiview 添加约束时的 SIGABRT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42856610/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com