我试图从弹出窗口中显示的视图控制器加载模态视图。模态视图加载但问题是它转换到主视图而不是弹出框内。这是我失踪的东西吗?我认为简单地从一个popc中的vc启动它会在同一个popover中显示模态视图......
代码没什么特别的,如下:
- (IBAction)myButton{
ModalVC *controller = [[ModalVC alloc] initWithNibName:@"ModalVC" bundle:nil];
[self presentModalViewController:controller animated:YES];
[controller release]; }
答案 0 :(得分:19)
如果你添加
controller.modalPresentationStyle = UIModalPresentationCurrentContext;
在调用presentModalViewController之前:动画你的ModalVC应该在popover中显示。
在弹出窗口中以模态方式显示内容的另一种方法是使用属性modalInPopover。
答案 1 :(得分:2)
不幸的是,似乎你不能这样做,它违反了HIG。来自Apple的View Controller Programming Guide
注意:在显示之前,您应该始终关闭可见的弹出窗口 另一个视图控制器模态。有关何时和何时的具体指导 如何在您的应用程序中使用弹出框,请参阅“Popover(仅限iPad)” iOS人机界面指南。
答案 2 :(得分:0)
这是因为您presentModalViewController
到self
。尝试在ViewController中添加一个UIBarButtonItem(self)并执行:
[controller presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
其中sender
是UIBarButtonItem