在iPhone中翻转过渡

时间:2009-08-04 14:26:16

标签: 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];

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

我正在做的是从各个viewControllers中的appDelegate调用方法来翻转视图。

3 个答案:

答案 0 :(得分:17)

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

UIViewController *controllerForSecondView = ..;
controllerForSecondView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controllerForSecondView animated:YES];

使用dismissModalViewController再次翻转。

Documentation Reference

答案 1 :(得分:6)

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

UIViewController *controllerForSecondView = ..;
controllerForSecondView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controllerForSecondView animated:YES];

从头文件注释:

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

答案 2 :(得分:4)

请参阅The Elements示例代码。特别是AtomicElementViewController -flipCurrentView