我可以使用以下代码成功翻转视图:
UIView.transition(from: firstView, to: secondView, duration: 1, options: UIViewAnimationOptions.transitionFlipFromRight, completion: nil)
但是,我想在动画发生时增加此视图高度。这可能吗?
我尝试在转换之前设置动画高度,但它什么也没做:
//original height is 300.0
firstViewHeightConstraint.constant = 600.0
UIView.animate(withDuration: 0.3, animations: {
self.view!.layoutIfNeeded()
})
UIView.transition(from: firstView, to: secondView, duration: 1, options: UIViewAnimationOptions.transitionFlipFromRight, completion: nil)
答案 0 :(得分:0)
您需要在相关两个视图的超级视图上调用UIView.transistion的其他重载,并在视图中手动设置动画。对于新视图,您必须将翻转旋转和比例合成为单个矩阵,将其设置为初始变换,然后设置为标识动画,对于旧视图,您是否执行相反操作。