我是在没有界面构建器的情况下创建视图的新手。我正在使用NSLayoutAnchors创建视图!
当我使用在视图控制器中创建的视图时,如下所示:
let borderView:UIView = {
let view = UIView()
view.translatesAutoresizingMaskIntoConstraints = false
view.backgroundColor = UIColor.lightGray
view.isUserInteractionEnabled = false
view.alpha = 0.5
return 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然后,在另一种观点中,我尝试这样做:
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但是看起来这个视图有它以前的约束,结束显示约束错误!
如何在重用borderView约束之前删除它?
发布于 2017-04-12 14:18:57
您不能重用视图。每个视图只能在视图层次结构中出现一次。您需要为每个想要使用它的视图创建一个新的边缘视图对象。
要回答这个问题,可以使用view.removeConstraints(view.constraints)从视图中删除约束
https://stackoverflow.com/questions/43372093
复制相似问题