swift animateWithDuration 在 iOS 7 中不起作用

swift animateWithDuration not working in iOS 7

我有一个动画 运行在 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

    })
}

基本上有2个错误。

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

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

self.ctaView.layoutIfNeeded()

我应该打电话给

self.view.layoutIfNeeded