我需要在UISplitViewController上呈现模态ViewController(即在横向模式下隐藏主视图和详细视图) .

我的代码基于Apple的Multiple Detail Views示例代码,我已将presentModalViewcontroller添加到didFinishLaunching中 .

为了呈现模态视图,我用过这个,

[self.window.rootViewController presentModalViewController:entryView animated:NO];

还有这个,

[[self.splitViewController.viewControllers objectAtIndex:0] presentModalViewController:entryView animated:NO];

......两者的行为方式相同(如下所述) .

模态视图按照我的意图显示,即视图弹出并根据需要覆盖UISplitView . 到目前为止都很好 .

但是,作为呈现模态视图的结果,iOS调用willHideViewController用于模糊的UISplitViewController主视图 . 我猜这是合理的,因为主视图被隐藏了 .

当模态视图被解除时会出现真正的问题,因为未调用willShowViewController来撤消willHideViewController中所做的更改(即,在隐藏主视图时删除添加到详细视图的弹出按钮) .

这个不需要的弹出按钮然后就位于我的详细视图导航栏上,通常会造成麻烦 .

关于如何在取消模态视图时调用willShowViewController的任何想法,或以其他方式解决此问题将不胜感激 .