所以我正在学习如何制作从屏幕外部动画出现的视图,以用作滑动菜单。
class ViewController: UIViewController {
@IBOutlet weak var red: UIView!
@IBOutlet weak var redHConstraint: NSLayoutConstraint!
@IBAction func buttonShift(sender: AnyObject) {
self.view.layoutIfNeeded() // **HERE**
UIView.animateWithDuration(0.5) {
self.redHConstraint.constant = 0
self.view.layoutIfNeeded() // And **HERE**
}
}
}
我从如何在Swift中使用约束动画UIView?这里的代码进行了修改。1. 代码中的
self.view.layoutIfNeeded()
是做什么用的?2. 为什么要在动画之前和之中分别编写两次?
注意: 如果我注释掉第一个
self.view.layoutIfNeeded()
,则没有任何变化,但如果我注释掉第二个 self.view.layoutIfNeeded()
,则移动将不再以动画方式进行,而只会出现在新坐标中。1. 代码中的
self.view.layoutIfNeeded()
是用来干什么的?2. 为什么要在动画之前和动画期间分别写两次?
注意:如果我注释掉第一个
self.view.layoutIfNeeded()
,那么不会有任何改变,但如果我注释掉第二个self.view.layoutIfNeeded()
,那么移动就不再有动画效果,而只会直接出现在新的坐标中。
red:UIView
中的所有“objects”都摆放好了?如果我注释掉第一个,“red”中的所有东西都会混乱吗? - Chameleon