使用 Swift 动画视图高度 [英] Animate view height with Swift

查看:16
本文介绍了使用 Swift 动画视图高度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的 ViewController 中有视图 sView.它的高度有约束 - 我为这个约束创建了 IBOutlet - sViewHeightConstraint.我想用动画降低 sView 的高度.

I have view sView inside my ViewController. It height has constraint - I created IBOutlet for this constraint - sViewHeightConstraint. I want to decrease height of sView with animation.

我创建了函数

UIView.animateWithDuration(5.5, animations: {
                self.sViewHeightConstraint.constant = 50
            })

视图高度正在改变,但我没有看到任何动画.我做错了什么?

Height of view is changing but i don't see any animation. What I am doing wrong?

推荐答案

使用 layoutIfNeeded()

 view.layoutIfNeeded() // force any pending operations to finish

 UIView.animateWithDuration(0.2, animations: { () -> Void in
    self.sViewHeightConstraint.constant = 50
    self.view.layoutIfNeeded()
})

斯威夫特 3

view.layoutIfNeeded() 
sViewHeightConstraint.constant = 50

UIView.animate(withDuration: 1.0, animations: { 
     self.view.layoutIfNeeded() 
})

这篇关于使用 Swift 动画视图高度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆