通过代码 新增 和 “修改”NSLayoutConstraint

来源:互联网 发布:2017淘宝官方活动大全 编辑:程序博客网 时间:2024/05/16 17:19

今天因为要弄一个瀑布流里面item的动态加载,

所以考虑把里面的一些空间的高度设成0从而实现“隐藏”效果

网上对这类修改是 关联 NSLayoutConstraint

然后设置对应的constant

下面是网上的答案,但是注意了,要用父类layoutIfNeeded()来重新布局

0down vote

If you are adding constraint programatically like this:

var constraintButton = NSLayoutConstraint (item: buttonPlay,                                            attribute: NSLayoutAttribute.Bottom,                                            relatedBy: NSLayoutRelation.Equal,                                            toItem: self.view,                                            attribute: NSLayoutAttribute.Bottom,                                            multiplier: 1,                                           constant: 0)// Add the constraint to the viewself.view.addConstraint(constraintButton)

Then you can update it this way:

self.constraintButton.constant = 50self.view.layoutIfNeeded()

And if you want that with animation you can do it this way:

self.view.layoutIfNeeded()UIView.animateWithDuration(1, animations: {    self.constraintButton.constant = 50    self.view.layoutIfNeeded()})


0down vote

If you are adding constraint programatically like this:

var constraintButton = NSLayoutConstraint (item: buttonPlay,                                            attribute: NSLayoutAttribute.Bottom,                                            relatedBy: NSLayoutRelation.Equal,                                            toItem: self.view,                                            attribute: NSLayoutAttribute.Bottom,                                            multiplier: 1,                                           constant: 0)// Add the constraint to the viewself.view.addConstraint(constraintButton)

Then you can update it this way:

self.constraintButton.constant = 50self.view.layoutIfNeeded()

And if you want that with animation you can do it this way:

self.view.layoutIfNeeded()UIView.animateWithDuration(1, animations: {    self.constraintButton.constant = 50    self.view.layoutIfNeeded()})
0 0
原创粉丝点击