使用 Swift 动画视图高度

Animate view height with Swift(使用 Swift 动画视图高度)

本文介绍了使用 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 动画视图高度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:使用 Swift 动画视图高度

基础教程推荐