美文网首页
Swift 如何正确的修改约束并添加动画

Swift 如何正确的修改约束并添加动画

作者: 南国青天 | 来源:发表于2016-10-11 16:28 被阅读267次

代码如下, 当你修改完约束之后添加动画之前, 你需要事先调用一次self.view.layoutIfNeeded.
它能确保在动画过程之中只有你修改的约束,会被加上动画效果.
否者其他view发生变化的时候也会被这个动画影响.

...
 self.view.layoutIfNeeded()
 topInfosViewHeight.constant = 102
 UIView.animateWithSpring({
       self.view.layoutIfNeeded()
 })
...
extension UIView {
    class func animateWithSpring(animate: ()->Void) {
        animateWithDuration(0.7, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 0.7, options: .LayoutSubviews, animations: animate, completion: nil)
    }
}

Referencer: Best practice for modifying storyboard auto layout constraints in code

相关文章

网友评论

      本文标题:Swift 如何正确的修改约束并添加动画

      本文链接:https://www.haomeiwen.com/subject/wcjbyttx.html