我在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调用方法来翻转视图。
答案 0 :(得分:17)
如果你正在使用3.0 SDK,你想要的只是一个简单的翻转过渡(天气应用程序),那么你不需要去CATransition
。更高级别的UIView
动画过渡将按照您的要求进行操作,但使用3.0还有一种更简单的方法:只需将新视图显示为模态视图控制器并将模态过渡样式设置为翻转。在第一个控制器内:
UIViewController *controllerForSecondView = ..;
controllerForSecondView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controllerForSecondView animated:YES];
使用dismissModalViewController
再次翻转。
答案 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
。