我正在调整现有的iPhone应用程序以在iPad上运行。在iPhone版本中,当用户点击工具栏按钮时,我会呈现一个带有modalTransitionStyle
UIModalTransitionStyleFlipHorizontal
的模态视图控制器,这是一个非常好的“卡片翻转”动画。
iPad界面基于拆分视图(实际上是MGSplitViewController
)。工具栏按钮位于详细信息窗格上,因此当我呈现模态视图控制器时,它会占用整个屏幕,并且翻转过渡毫无意义。
为了获得正确的用户交互,我希望模态控制器在详细视图控制器上显示并翻转到 ,使主视图控制器保持原样。
有没有办法做到这一点?
答案 0 :(得分:9)
UIViewController *viewController = [[UIViewController alloc] init];
viewController.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentViewController:viewController animated:YES completion:nil];
答案 1 :(得分:5)
也许您可以将其视图添加为DetailViewcontroller的子视图,并使用UIview动画使其看起来像模态。 Reference to [UIView transitionFromView:toView:duration:options:completion]
修改强> 在观看WWDC2010视频(会话123:构建动画驱动接口)时,我意外地知道我可以以不同的方式进行相同的转换。我采样编码,它工作:)
使用另一个非常相似的API [UIView transitionWithView:duration:options:animations:completion:]
我的示例代码如下
// Within your DetailViewController
[self.view addSubview:self.flipSideView];
[UIView transitionWithView:self.view duration:0.8 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{} completion:nil];
是的,就是这样。只需将翻转侧视图添加为子视图,然后使用transitionWithView:...
动画而不是transitionFromView...
。