我正在使用两个UITextView
个对象。每个UITextView
代表闪存卡应用程序中单张卡的一面。就像使用普通闪存卡一样,我希望用户能够翻转卡片。我问如何在两个UIView对象之间切换,因为UITextView
是UIView
子类,所以同样的想法应该有用。
我正在寻找的动画看起来像this。
上述示例的唯一问题是它使用了两个UIViewController
个对象而UITextView
不是UIViewController
的子类,因此相同的原则不适用。
关于如何进行翻转动画的任何想法?
答案 0 :(得分:4)
您可以使用UIView类方法+transitionFromView:toView:duration:options:completion:
来完成此任务。您的文本视图都需要是常见超级视图的后代。使用选项UIViewAnimationOptionTransitionFlipFromLeft
(或... FromRight
)进行水平翻转。
答案 1 :(得分:0)
看起来您的问题已经回答here,只需调整转换以使其成为水平而非垂直翻转:
- (void)horizontalFlip {
[UIView animateWithDuration:someDuration animations:^{
yourView.layer.transform = CATransform3DMakeRotation(M_PI, 0.0, 1.0, 0.0);
} completion:^(BOOL finished){
// code to be executed when flip is completed
}];
}
正如链接问题中所解释的那样,您可以使用M_PI_2
进一步修改此操作,然后在第一个动画的完成块中换出UITextView
并开始新的动画完成翻转。
不要忘记文件顶部的#import math.h
和#import <QuartzCore/Quartz.h>
!
答案 2 :(得分:0)
您可以先隐藏一个UITextView并显示另一个UITextView。要翻转它,您可以隐藏显示的UITextView并显示隐藏的UITextView。您还可以使用here解释的动画来创建翻转效果。