2

我正在调整现有的 iPhone 应用程序以在 iPad 上运行。在 iPhone 版本中,当用户点击工具栏按钮时,我会呈现一个带有modalTransitionStyleof的模态视图控制器UIModalTransitionStyleFlipHorizontal,它制作了一个非常漂亮的“卡片翻转”动画。

iPad 界面基于拆分视图(MGSplitViewController实际上是 )。工具栏按钮位于详细信息窗格中,因此当我展示模态视图控制器时,它会占据整个屏幕,并且翻转过渡毫无意义。

为了获得正确的用户交互,我希望模态控制器在详细视图控制器上出现并翻转到位,而使主视图控制器保持原样。

有没有办法做到这一点?

4

2 回答 2

10
UIViewController *viewController = [[UIViewController alloc] init];
viewController.modalPresentationStyle = UIModalPresentationCurrentContext;

[self presentViewController:viewController animated:YES completion:nil];
于 2013-10-09T17:44:13.297 回答
5

可能您可以将其视图添加为 DetailViewcontroller 的子视图并使用 UIview 动画使其看起来像模态。参考[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....

于 2012-10-06T19:32:49.920 回答