gpt4 book ai didi

ios - 使用 NSLayoutAnchor 时清除约束

转载 作者:搜寻专家 更新时间:2023-11-01 06:34:16 24 4
gpt4 key购买 nike

我是不使用界面生成器创建 View 的新手。我正在使用 NSLayoutAnchors 来创建 View !

当我像这样使用在 viewcontroller 中创建的 View 时:

let borderView:UIView = {

let view = UIView()
view.translatesAutoresizingMaskIntoConstraints = false
view.backgroundColor = UIColor.lightGray
view.isUserInteractionEnabled = false
view.alpha = 0.5
return view

}()

然后我使用这个 View 来像这样在 View 中加边框:

view.addSubview(borderView)
borderView.bottomAnchor.constraint(equalTo: headerView.bottomAnchor).isActive = true
borderView.leftAnchor.constraint(equalTo: headerView.leftAnchor).isActive = true
borderView.rightAnchor.constraint(equalTo: headerView.rightAnchor).isActive = true
borderView.heightAnchor.constraint(equalToConstant: 1).isActive = true

然后在另一个 View 中我试试这个:

    informationView.addSubview(borderView)

borderView.topAnchor.constraint(equalTo: informationView.topAnchor).isActive = true
borderView.leftAnchor.constraint(equalTo: informationView.leftAnchor).isActive = true
borderView.rightAnchor.constraint(equalTo: informationView.rightAnchor).isActive = true
borderView.heightAnchor.constraint(equalToConstant: 1).isActive = true

但看起来这个 View 有它以前的约束结束显示约束错误!

如何在重用之前删除 borderView 约束?

最佳答案

您不能重复使用 View 。每个 View 只能在 View 层次结构中出现一次。您需要为每个要使用它的 View 创建一个新的边框 View 对象。

要回答这个问题,您可以使用 view.removeConstraints(view.constraints)

从 View 中删除约束

关于ios - 使用 NSLayoutAnchor 时清除约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43372093/

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