这是我的情况:
我有一个UINavigationViewController
(有一堆UITableViewControllers
),位于UIPopoverViewController
内。这就是它现在的样子:
然后其中一个按钮就有了这个动作:
MyViewController *moveViewcontroller = [[MyViewController alloc] init];
moveViewcontroller.contentSizeForViewInPopover = self.contentSizeForViewInPopover;
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:moveViewcontroller];
navController.toolbarHidden = NO;
navController.navigationBarHidden = NO;
navController.contentSizeForViewInPopover = self.navigationController.contentSizeForViewInPopover;
navController.modalPresentationStyle = UIModalPresentationCurrentContext;//to show it inside the popover
[self.navigationController presentModalViewController:navController animated:YES];
[navController release];
[moveViewcontroller release];
其中显示了导航控制器,但它不像第一张图片中的导航控制器那样在UIPopoverController中嵌入。这就是我得到的:
不太好,并且与之前的界面不一致
有没有办法让我的模态导航控制器嵌入 UIPopoverController
?
基本上,我想在iPhone中实现类似于Mail.app中的类似界面(将电子邮件从一个文件夹移动到另一个文件夹时),但在popover中。
答案 0 :(得分:0)
您需要为模式指定的UIViewController
指定演示文稿样式。
我使用以下代码执行此操作:
MyViewController* mvc =
[[MyViewController alloc]
initWithNibName:@"MyViewController"
bundle:nil];
mvc.modalPresentationStyle = UIModalPresentationFormSheet;
mvc.contentSizeForViewInPopover = CGSizeMake(320.0f, 210.0f);
[self.navigationController pushViewController:mvc animated:YES];
关键线是处理modalPresentationStyle
的关键线 - 强制模态视图控制器显示在UIPopoverController