Ios 约束到横幅视图的视图会突然跳跃,而不是缓慢设置动画

Ios 约束到横幅视图的视图会突然跳跃,而不是缓慢设置动画,ios,animation,iad,adbannerview,Ios,Animation,Iad,Adbannerview,我正在尝试使用约束设置横幅视图从底部到屏幕的动画。按钮连接到bannerview,并且它应始终与banner保持相同的距离。这就是我得到的: 正如您所看到的,按钮突然跳跃,但我希望它使用UIView.animateWithDuration方法缓慢移动。这是我的密码 @IBOutlet weak var bannerToBottomGuideConstraint: NSLayoutConstraint! @IBOutlet weak var buttonToBannerConstraint: NS

我正在尝试使用约束设置横幅视图从底部到屏幕的动画。按钮连接到bannerview,并且它应始终与banner保持相同的距离。这就是我得到的: 正如您所看到的,按钮突然跳跃,但我希望它使用UIView.animateWithDuration方法缓慢移动。这是我的密码

@IBOutlet weak var bannerToBottomGuideConstraint: NSLayoutConstraint!
@IBOutlet weak var buttonToBannerConstraint: NSLayoutConstraint!


@IBOutlet weak var bannerView: ADBannerView!


override func viewDidLoad() {
    super.viewDidLoad()

    self.canDisplayBannerAds = true
    bannerToBottomGuideConstraint.constant -= CGRectGetHeight(bannerView.bounds)
    bannerView.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0)
}

func bannerViewDidLoadAd(banner: ADBannerView!) {
    let time = 0.6

    if banner.bannerLoaded == false{
        self.view.layoutIfNeeded()
        bannerToBottomGuideConstraint.constant += CGRectGetHeight(bannerView.bounds)
        UIView.animateWithDuration(time, animations: {
            self.view.layoutIfNeeded()
            }, completion: {_ in
        })
    }
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {

    if bannerView.bannerLoaded{
        bannerToBottomGuideConstraint.constant -= CGRectGetHeight(bannerView.bounds)
        UIView.animateWithDuration(0, animations: {
            self.view.layoutIfNeeded()
            }, completion: {_ in
        })
    }
}

在动画块中调用
banner.superview!而不是
self.view.layoutifneed()
!。layoutIfNeeded()

效果很好!谢谢,我真的很期待11月的书