Swift我需要layoutifneeded()

时间:2015-08-11 14:12:14

标签: ios objective-c iphone xcode swift

我通过以下方式制作视图:

@IBAction func showInfo(sender: AnyObject) {

    UIView.animateWithDuration(1,
        delay: 0,
        usingSpringWithDamping: 0.7,
        initialSpringVelocity: 0.5,
        options: nil,
        animations: {
            self.infoContainer.frame.origin.y = CGFloat(30)
        }, completion: nil
    )

}

我现在的问题是,我之后需要运行layoutIfNeeded()吗?

2 个答案:

答案 0 :(得分:2)

更改约束时需要调用layoutIfNeeded()。在按原点制作动画时,您不需要调用它

答案 1 :(得分:1)

由于您通过设置新框架进行动画处理,因此无需致电layoutIfNeeded()

我的猜测是你提出这个问题,因为它不适合你。如果使用AutoLayout设置视图,并尝试直接修改框架,它将无法工作,您必须通过修改约束中的常量来设置动画。