在iPhone中翻转过渡

rkb*_*rkb 2 iphone

我在iPhone中查看视图时遇到问题.

我在appDelegate中有两个视图.我想在用户点击按钮后翻转它们.

我有以下代码:

CATransition *transition = [CATransition animation];

transition.duration = 0.75;
[transition @"twist"];
[transition setSubtype:@"fromRight"];

transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[transition setFillMode:@"extended"];

[[window layer] addAnimation:transition forKey:nil];


[window addSubview:self.s.view];
[CATransaction commit];
Run Code Online (Sandbox Code Playgroud)

但这不起作用.有人知道在窗口侧翻转视图的更好方法.

我正在做的是从相应的viewControllers中的appDelegate调用方法来翻转视图.

Luk*_*ath 17

如果你正在使用3.0 SDK,你想要的只是一个简单的翻转过渡(天气应用程序),那么你不需要去CATransition.更高级别的UIView动画过渡将完成您想要的操作但是使用3.0还有一种更简单的方法:只需将新视图显示为模态视图控制器并将模态过渡样式设置为翻转.从第一个控制器内:

UIViewController *controllerForSecondView = ..;
controllerForSecondView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controllerForSecondView animated:YES];
Run Code Online (Sandbox Code Playgroud)

使用再次翻转dismissModalViewController.

文档参考


小智 6

@Luke - 谢谢,这个示例帮助了我... 1修正(基于UIViewController.h)

UIViewController *controllerForSecondView = ..;
controllerForSecondView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controllerForSecondView animated:YES];
Run Code Online (Sandbox Code Playgroud)

从头文件注释:

//定义在以模态方式呈现时将用于此视图控制器的过渡样式.在要显示的视图控制器上设置此属性,而不是演示者. //默认为UIModalTransitionStyleSlideVertical.@property(nonatomic,assign)UIModalTransitionStyle modalTransitionStyle