我对swift有一个奇怪的问题。我试图翻转两个视图,而不是整个屏幕,但它翻转整个屏幕。
之前有人问过这个但没有回答:
flip animation in swift flips whole view not subviews
这是对我所拥有的观点的引用(我已经确认它们只占用了部分屏幕):
@IBOutlet var frontview: UIView!
@IBOutlet var backview: UIView!
这是我翻转的代码:
func flipCard() {
if (showingBack) {
UIView.transitionFromView(backview, toView: frontview, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromRight, completion: nil)
showingBack = false
} else {
UIView.transitionFromView(frontview, toView: backview, duration: 1, options: UIViewAnimationOptions.TransitionFlipFromLeft, completion: nil)
showingBack = true
}
}
谢谢你的帮助
试试This的例子。我觉得你看起来像这样。而不是imageView在你的情况下尝试UIView。
当你调用UIView.transitionFromView(backView, toView: frontView ...
时会发生什么,它会翻转这两个视图的父级。据推测,你的情况下的父视图是ViewController的根视图,所以为了让它只是翻转那些视图而不是“整个屏幕”,你只需要在另一个视图中嵌入backView
和frontView
。
在this article.有更多细节