1

我想重新创建我们在邮件应用程序中的大型弹出框,以纵向模式,自 iOS5 以来。

您从屏幕左侧滑动,rootView 出现在列表类型的弹出窗口中。

它是私有 API 吗?我什至找不到任何关于它的文档。

非常感谢你的帮助 !

4

1 回答 1

0

我能够做到这一点的唯一方法是使用 UISplitViewController。将要占据整个窗口的视图作为详细视图,并将“大”弹出框内的视图作为主视图。

这个想法是总是让你的主人来自弹出窗口,而不是像iOS5中默认的那样停靠在侧面

完成上述故事板工作后,将 detailViewController 设为 splitViewControllerDelegate

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.splitViewController.delegate = self;
}

最后,在 detailViewController 中实现以下 UISplitViewControllerDelegate 方法

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
{
//This ALWAYS hides the masterVC (in your case the rootVC) regardless of device orientation
    return YES;
}


- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc
{
// Assuming your detailViewController has a UIToolbar mapped to the .toolbar property
// This takes the barButtonItem from which your masterViewController "pops over"
// and places it in your UIToolbar
self.toolbar.items = [NSArray arrayWithObject:barButtonItem];
}
于 2013-03-14T02:06:12.690 回答