我想重新创建我们在邮件应用程序中的大型弹出框,以纵向模式,自 iOS5 以来。
您从屏幕左侧滑动,rootView 出现在列表类型的弹出窗口中。
它是私有 API 吗?我什至找不到任何关于它的文档。
非常感谢你的帮助 !
我能够做到这一点的唯一方法是使用 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];
}