我有一个UISplitViewController,我想始终显示iPad的主视图控制器和细节视图控制器。这一行为我处理了这个问题:
// Always display master and detail in large screens
self.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible
在prepareForSegue中,当打开细节视图控制器时,我有以下几行代码用于Back按钮
controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
controller.navigationItem.leftItemsSupplementBackButton = true
现在,当用户按下返回按钮时,我将在Master视图控制器隐藏后执行一个操作。我没有找到如何做到这一点的任何运气。在SplitViewControllerDelegate中,我尝试用途:
func splitViewController(svc: UISplitViewController, willChangeToDisplayMode displayMode: UISplitViewControllerDisplayMode)
但是这个函数是在Detail视图控制器变成全屏之前被调用的。有没有一个函数或其他东西可以帮助我在UISplitViewController完成隐藏Master视图时通知我?
3条答案
按热度按时间ctehm74n1#
您可以在DetailViewController中的视图上添加观察者,并在触发时执行特定操作:
zbsbpyhn2#
你可以试试
delegate
方法c7rzv4ha3#
我从here那里得到了答案,需要放到主控制器**中(左边的那个)。
仅供参考,这使扩展按钮失效,为了使其扩展/收缩,我将额外的代码放入
doSomethingWhenExpandButtonTapped()
中