swift animateWithDuration在iOS 7中不起作用

时间:2015-01-12 17:29:05

标签: ios animation swift ios7.1 ios8.1

我有一个在iOS 8.1中运行良好的动画,但在iOS 7.1中,按钮只显示在没有动画的地方。

按钮的前导,尾随和底部约束为0,高度约束为80.约束在故事板中设置。

在viewWillAppear方法中,我将底部约束更改为-80,因此在开头没有看到。

当用户按下按钮时,该按钮应该动画显示,我运行此方法:

func animateCtaUp() {
    self.ctaView.layoutIfNeeded()
    UIView.animateWithDuration(0.5, delay: 0, options: .CurveEaseOut, animations: {
            self.ctaViewBottomConstraint.constant = 0
            self.ctaView.layoutIfNeeded()
        }, completion: { finished in

    })
}

1 个答案:

答案 0 :(得分:0)

基本上有2个错误。

第一个是:我有一个没有布局限制的视图。当我添加它们时,其中一个动画开始运行。

第二个错误是:我正在打电话

self.ctaView.layoutIfNeeded()

相反,我应该打电话

self.view.layoutIfNeeded