在弹出窗口中呈现模态视图

时间:2010-05-12 22:36:08

标签: ipad sdk popover modalviewcontroller

我试图从弹出窗口中显示的视图控制器加载模态视图。模态视图加载但问题是它转换到主视图而不是弹出框内。这是我失踪的东西吗?我认为简单地从一个popc中的vc启动它会在同一个popover中显示模态视图......

代码没什么特别的,如下:

- (IBAction)myButton{
ModalVC *controller = [[ModalVC alloc] initWithNibName:@"ModalVC" bundle:nil];

[self presentModalViewController:controller animated:YES];
[controller release]; }

3 个答案:

答案 0 :(得分:19)

如果你添加

controller.modalPresentationStyle = UIModalPresentationCurrentContext;

在调用presentModalViewController之前:动画你的ModalVC应该在popover中显示。

在弹出窗口中以模态方式显示内容的另一种方法是使用属性modalInPopover。

答案 1 :(得分:2)

不幸的是,似乎你不能这样做,它违反了HIG。来自Apple的View Controller Programming Guide

  

注意:在显示之前,您应该始终关闭可见的弹出窗口   另一个视图控制器模态。有关何时和何时的具体指导   如何在您的应用程序中使用弹出框,请参阅“Popover(仅限iPad)”   iOS人机界面指南。

答案 2 :(得分:0)

这是因为您presentModalViewControllerself。尝试在ViewController中添加一个UIBarButtonItem(self)并执行:

[controller presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

其中senderUIBarButtonItem