【发布时间】:2019-05-13 08:48:21
【问题描述】:
我使用这个代码:
func show(){
view.translatesAutoresizingMaskIntoConstraints = false
view.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0).isActive = true
view.topAnchor.constraint(equalTo: view.topAnchor, constant: 0).isActive = true
view.heightAnchor.constraint(equalToConstant: view.frame.height - 300).isActive = true
view.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0).isActive = true
}
func hide(){
view.translatesAutoresizingMaskIntoConstraints = false
view.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 0).isActive = true
view.topAnchor.constraint(equalTo: view.topAnchor, constant: 0).isActive = true
view.heightAnchor.constraint(equalToConstant: view.frame.height + 300).isActive = true
view.rightAnchor.constraint(equalTo: view.rightAnchor, constant: 0).isActive = true
}
show 函数工作正常,但 hide 函数不工作,heightAnchor 不工作。
【问题讨论】:
-
在使用
hide函数之前是否删除所有约束? -
我使用此代码进行删除:
view.translatesAutoresizingMaskIntoConstraints = false -
不,该代码不会删除您以前的设置约束。它只是关闭自动布局引擎
-
使用这个
view.removeConstraints(constraints: [NSLayoutConstraint][NSLayoutConstraint])删除所有你想要的约束
标签: swift constraints ios-autolayout autoresize nslayoutanchor