Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 仅在分割视图控制器的一半上显示模态视图控制器_Ios_Uiviewcontroller_Uisplitviewcontroller_Modalviewcontroller_Ipad - Fatal编程技术网

Ios 仅在分割视图控制器的一半上显示模态视图控制器

Ios 仅在分割视图控制器的一半上显示模态视图控制器,ios,uiviewcontroller,uisplitviewcontroller,modalviewcontroller,ipad,Ios,Uiviewcontroller,Uisplitviewcontroller,Modalviewcontroller,Ipad,我正在调整现有的iPhone应用程序,使其在iPad上运行。在iPhone版本中,当用户点击工具栏按钮时,我会显示一个带有uimodaltransationstylefliphorizontal的modaltransationstylefliphorizontal的模态视图控制器,这是一个非常好的“卡片翻转”动画 iPad界面基于分割视图(MGSplitViewController)。工具栏按钮位于“详细信息”窗格上,因此当我显示“模态视图”控制器时,它会占据整个屏幕,翻转过渡毫无意义 为了获得

我正在调整现有的iPhone应用程序,使其在iPad上运行。在iPhone版本中,当用户点击工具栏按钮时,我会显示一个带有
uimodaltransationstylefliphorizontal
modaltransationstylefliphorizontal
的模态视图控制器,这是一个非常好的“卡片翻转”动画

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

为了获得正确的用户交互,我希望模态控制器仅在局部视图控制器上显示并翻转到位,而保持主视图控制器不变


有什么方法可以做到这一点吗?

也许您可以将其视图添加为DetailViewcontroller的子视图,并使用UIview动画使其看起来像模态

编辑 在观看WWDC2010视频(第123课时:构建动画驱动的界面)时,我意外地知道我可以以不同的方式进行相同的转换。我对样本进行了编码,它成功了:)

它将使用另一个非常类似的API

我的示例代码如下

// Within your DetailViewController
[self.view addSubview:self.flipSideView];
[UIView transitionWithView:self.view duration:0.8 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{} completion:nil];

是的,就是这样。只需将翻转侧视图添加为子视图,并使用
transitionWithView:…
动画,而不是
transitionFromView…

@parilogic不幸的是,这正是我正在做的:即,我正在从拆分视图控制器演示。模态控制器仍然覆盖整个屏幕。嗯,等等。你必须通过DetailViewController的实例来展示它。两者都不起作用。我尝试了“拆分视图”控制器和“局部视图”控制器。两者都占据了整个屏幕。这听起来很有希望。让我试一试。同样的事情-模态视图控制器似乎总是扩展以占据整个屏幕。顺便说一句,它被包装在导航控制器中,但我需要导航控制器。似乎UIViewAnimationOptionTransitionFlipFromLeft是问题所在-即使我调整导航控制器的大小,整个屏幕也会翻转-不仅仅是细节控制器。您好@Bill,我不确定您是否仍在跟踪此问题,但我只是想出了一个可行的答案,并相应地编辑了我的答案。实际上,我最终使用了这个解决方案,放弃了翻转。谢谢演示样式根据您运行的是iOS 7还是iOS 8而有所不同:
UIViewController *viewController = [[UIViewController alloc] init];
viewController.modalPresentationStyle = UIModalPresentationCurrentContext;

[self presentViewController:viewController animated:YES completion:nil];