UISplitViewController Detail View 旋转后消失
Posted
技术标签:
【中文标题】UISplitViewController Detail View 旋转后消失【英文标题】:UISpliViewController DetailView disappears after rotation 【发布时间】:2011-12-19 10:46:56 【问题描述】:我有一个 UIViewController 的问题,请在回答之前先阅读,它比看起来更复杂。无需更改超级 UIViewController 旋转即可正常工作!
我有一个纵向的 UISplitViewController,而不是我点击按钮来显示 UIPopoverController 现在我将 UIViewController 从 UISplitViewC 更改为 UITableViewC 现在我将 iPad 旋转到横向 最后切换回 SpliViewController! 如您所见,MasterViewController 没有显示,NavigationItem 也没有消失。
这让我假设在 UITableViewController 的旋转时不会调用 splitview 的委托函数(不足为奇)
我该如何处理这个问题?
委托功能
- (void)splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc
//debug_NSLog(@"Entering portrait, showing the button: %@", [aViewController class]);
barButtonItem.title = @"Akten";
[self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];
[self setMasterPopover: pc];
// Called when the view is shown again in the split view, invalidating the button and popover controller.
- (void)splitViewController: (UISplitViewController*)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
//debug_NSLog(@"Entering landscape, hiding the button: %@", [aViewController class]);
[self.navigationItem setLeftBarButtonItem:nil animated:NO];
[self setMasterPopover: nil];
感谢您的帮助!
【问题讨论】:
这里有同样的问题。如果你解决了,你能发布你是怎么做的吗?谢谢 【参考方案1】:这里有同样的问题,但是委托的函数肯定会被调用,你可以通过放置 NSLog 来检查 其他方式制作你自己的 popovercontroller 并在 didrotate 方法中调用它。
【讨论】:
【参考方案2】:这是很久以前的事了,但只要我记得它就像这里 ***.com/questions/4649617/... 您的主视图控制器需要实现接收拆分视图委托并将其转发到拆分视图,即使它不可见。
不保证,就像我很久以前说的那样
【讨论】:
以上是关于UISplitViewController Detail View 旋转后消失的主要内容,如果未能解决你的问题,请参考以下文章
UISplitViewController - 并排或纵向叠加
在 UIViewControllers 和 UISplitViewController 之间导航 [关闭]
将 UIToolBar 放在 UISplitViewController 上方?
UISplitViewController + UISearchController 显示搜索细节