我发现很多人询问有关如何以横向和纵向显示主视图的信息,但我想要做的是隐藏正确的主视图,无论设备方向如何并从通过使用导航栏按钮。
如果有人可以告诉我在设备重新定向时隐藏主视图的逻辑位于/执行的位置,那么对我有很大帮助。我一直在查看 Xcode 附带的模板,iOS 的主/详细视图,我注意到以下两个方法是在 AppDelegate.m 文件中声明的,但我似乎无法找出它们是从哪里执行的:
//Called when a button should be added to the nav bar for a view that is hidden
- (void)splitViewController:(UISplitViewController *)splitController willHideViewController: (UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController
{
barButtonItem.title = NSLocalizedString(@"Master", @"Master");
[self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];
self.masterPopoverController = popoverController;
}
- (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
// Called when the view is shown again in the split view, invalidating the button and popover controller.
[self.navigationItem setLeftBarButtonItem:nil animated:YES];
self.masterPopoverController = nil;
}
所有帮助将不胜感激。