我正在尝试使用UIViewAnimationTransitionCurlUp在两个视图之间进行转换。 我的应用程序在横向(左和右)中工作,我需要从右到左过渡。 UIViewAnimationTransitionCurlUp从下到上工作(而不是我想要的从右到左)。 我的第一个版本是:
self.oneView = [[[UIImageView alloc] initWithFrame:frame] autorelease];
self.twoView = [[[UIImageView alloc] initWithFrame:frame] autorelease];
[self.view addSubview:self.oneView];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
[self.oneView removeFromSuperview];
[self.view addSubview:twoView];
[UIView commitAnimations];
它在风景中使用右侧的主页按钮(从右到左的过渡根据需要从右上角开始)。 但是当设备被旋转到左侧的主页按钮时,卷曲效果是颠倒的:从左到右开始用左下角。) 似乎动画不知道设备方向。 我更改了一个代码,以便使用中间容器视图(在self.view和
之间)self.oneView/twoView):
self.containerView = [[[UIView alloc] initWithFrame:frame] autorelease];
self.oneView = [[[UIImageView alloc] initWithFrame:frame] autorelease];
self.twoView = [[[UIImageView alloc] initWithFrame:frame] autorelease];
[self.view addSubview:self.containerView];
[self.containerView addSubview:self.oneView]
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.containerView cache:YES];
[self.oneView removeFromSuperview];
[self.containerView addSubview:twoView];
[UIView commitAnimations];
现在它意识到设备旋转并且正好适用于横向方向。 但它在文档中描述的从下到上(从右下角开始)起作用。 但我希望它从右到左工作。 我还尝试使用视图的转换属性,如:
self.containerView.transform = CGAffineTransformMakeRotation(-M_PI_2);
self.oneView.transform = CGAffineTransformMakeRotation(M_PI_2);
没有帮助。 所以,一个问题是: 如何在横向模式(左侧和右侧)中使用转换UIViewAnimationTransitionCurlUp来从右到左进行视图之间的转换? 谢谢你的帮助! 亚历
答案 0 :(得分:0)
您是否尝试过使用UIViewAnimationTransitionCurlDown
?它是UIViewAnimationTransitionCurlUp
的反方向。