3

我试图从弹出窗口中显示的视图控制器加载模式视图。模态视图加载,但问题是它转换到主视图而不是弹出框内。我错过了什么吗?我认为简单地从弹出窗口中的 vc 启动它会在同一个弹出窗口中呈现模态视图......

代码没有什么特别之处,如下所示:

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

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

3 回答 3

19

如果你添加

controller.modalPresentationStyle = UIModalPresentationCurrentContext;

在调用 presentModalViewController:animated 之前,您的 ModalVC 应该显示在弹出框内。

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

于 2010-09-17T14:38:52.870 回答
2

不幸的是,您似乎无法做到这一点,它违反了 HIG。来自 Apple 的View Controller Programming Guide

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

于 2011-07-21T13:11:39.493 回答
0

这是因为你presentModalViewControllerself。尝试在 ViewController (self) 中添加 UIBarButtonItem 并执行以下操作:

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

sender在哪里UIBarButtonItem

于 2010-05-13T03:38:23.043 回答