如何在 iOS 中为两个 UIView 翻转设置动画?
Posted
技术标签:
【中文标题】如何在 iOS 中为两个 UIView 翻转设置动画?【英文标题】:How to animate two UIView flip in iOS? 【发布时间】:2015-08-06 07:49:12 【问题描述】:在我的主 ViewController 中,我有 2 个 UIView,分别命名为 AppointmentView 和 BookView,并且我在两个 UIView 上都放置了一个 UIButton,点击时我需要翻转每个视图。
我已经添加了下面的代码,但问题是当我点击 UIButton 时它会翻转并进入同一页面(而不是第二个视图)。
请帮帮我
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.bookAppointmentView cache:YES];
[self.view addSubview:self.bookAppointmentView];
[UIView commitAnimations];
更新代码
- (IBAction)addnewPatient:(id)sender
self.createNewPatientView.hidden=NO;
self.bookAppointmentView.hidden=YES;
self.createNewPatientView.backgroundColor=[UIColor colorWithRed:254.0/255.0 green:254.0/255 blue:254.0/255 alpha:1];
self.createNewPatientView.layer.cornerRadius=5;
self.createNewPatientView.layer.masksToBounds=YES;
[UIView transitionFromView:self.bookAppointmentView toView:self.createNewPatientView duration:.6 options:(UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionShowHideTransitionViews) completion:^(BOOL finished)
//completion code goes here
];
- (IBAction)existingPatient:(id)sender
self.bookAppointmentView.hidden=NO;
self.createNewPatientView.hidden=YES;
[UIView transitionFromView:self.createNewPatientView toView:self.bookAppointmentView duration:.6 options:(UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionShowHideTransitionViews) completion:^(BOOL finished)
//completion code goes here
];
【问题讨论】:
【参考方案1】:您最好使用以下动画块来执行此操作:
[UIView transitionFromView:view1 toView:view2 duration:.3 options:(UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionShowHideTransitionViews) completion:^(BOOL finished)
//completion code goes here
];
干杯!
【讨论】:
它的翻转但非常快但不会回来......当我点击 secondview 中的按钮翻转它的翻转并且第一个视图没有显示时 是的,翻转正在工作,但它翻转了整个视图控制器。有没有办法只翻转这两个视图? 您应该将view1
替换为您的AppointmentView
,并将view2
替换为BookView
,并且一切正常。 view1
和 view2
是我的示例代码中传递给动画方法的参数。不要将self.view
作为参数传递给该方法。
当使用动画的UIViewAnimationOptionShowHideTransitionViews
选项时,您不必手动隐藏视图。删除self.bookAppointmentView.hidden=NO; self.createNewPatientView.hidden=YES;
但这并不能解决我的问题,它仍然会翻转整个视图控制器以上是关于如何在 iOS 中为两个 UIView 翻转设置动画?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Facebook PoP ios 框架水平翻转 UIView?
在 iOS 中为 UIImageView 以外的东西设置内容模式