我想将以下基于View
的动画转换为Layer
为基础。
@IBOutlet weak var constraintTopContainerHeight: NSLayoutConstraint!
override func viewDidLoad() {
super.viewDidLoad()
var value:CGFloat
switch (someTag)
{
case 1:
value = CGFloat(self.view.bounds.height / 3)
case 2:
value = CGFloat(self.view.bounds.height / 2)
case 3:
value = CGFloat(self.view.bounds.height * 0.8)
default:
value = 0.0
}
UIView.animateWithDuration(1.5, delay: 0.0,
usingSpringWithDamping: 0.3, initialSpringVelocity: 0.0,
options: nil, animations: {
self.constraintTopContainerHeight.constant = value
self.view.layoutIfNeeded()
}, completion: nil)
}
}
如何使Constraint
使用基于Layer
的动画而不是当前基于View
的动画。代码请。
答案 0 :(得分:1)
首先,您应该在UIView动画之外设置约束。
此外,您无法使用Core Animation为约束设置动画。
Apple的自动布局指南解释道。