swift animateWithDuration在iOS 7中不工作

swift animateWithDuration在iOS 7中不工作,ios,animation,swift,ios7.1,ios8.1,Ios,Animation,Swift,Ios7.1,Ios8.1,我有一个在iOS 8.1中运行良好的动画,但在iOS 7.1中,按钮只是出现在没有动画的地方 该按钮的前导、尾随和底部约束为0,高度约束为80。约束在情节提要中设置 在ViewWillAppease方法中,我将底部约束更改为-80,以便在开始时看不到它 当用户按下按钮时,该按钮应向上动画,我运行此方法: func animateCtaUp() { self.ctaView.layoutIfNeeded() UIView.animateWithDuration(0.5, delay

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

该按钮的前导、尾随和底部约束为0,高度约束为80。约束在情节提要中设置

在ViewWillAppease方法中,我将底部约束更改为-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

    })
}

基本上有两个bug

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

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

self.ctaView.layoutIfNeeded()
相反,我应该打电话

self.view.layoutIfNeeded

“不工作”是什么意思?什么都没有发生吗?按钮只是在没有动画的情况下出现在应该出现的位置。当我在控制器的self.view中放置一个按钮时,代码对我来说运行良好。什么是景观?是按钮的超视图吗?是的。嗯,你知道为什么它不能在iOS 7.1中工作吗?