当UISplitViewController在iPhone模式下弹出掌握时如何通知?

时间:2015-03-03 14:45:07

标签: ios ios8 uisplitviewcontroller iphone-6-plus uisplitviewdelegate

我在 iPhone 6 Plus 上使用UISplitViewController,我希望在纵向模式下通知用户返回主视图控制器( ie 当拆分视图像导航控制器一样时。)

此外,我希望收到我的UISplitViewDelegate通知,当用户推送详细视图控制器(通过 splitViewController:showDetailViewController:sender:回调)时,我已收到通知

你知道最简单(也是最干净)的方法吗?

提前致谢。

3 个答案:

答案 0 :(得分:0)

取决于我们尝试使用的iOS版本。

iOS 8.0~8.2方式您的项目不应与iOS 7兼容,并且仅适用于iOS 8和UP,最好的方法是使用WWDC 2014上提供的大小类(特征集合)是一个关于这种方式的视频,第214节"在iOS 8中观看控制器进步"

简单地说它现在有一个属性 此属性指示是否折叠了详细视图。(会话214,分钟12:30 - >)

@property(getter = isCollapsed)BOOL崩溃了; 一点KVO魔术,你可以回顾一下详细视图何时可用。

对于旧iOS 7方式,您可以检测设备的当前方向并获取详细信息的当前状态。

您拥有的耦合方法(旋转回调):

willRotateToInterfaceOrientation:持续时间:

didRotateFromInterfaceOrientation:

interfaceOrientation

!!!基于会话214(43:20)不建议在iOS 8 和UP中使用这些方法,因为它们已被弃用!!!

我不确定这两种方式是最好的也是最简单的,但是它们可以按预期正常工作。看看WWDC视频的建议很少,它们非常有帮助。

答案 1 :(得分:0)

要在[{1}}返回时收到通知,您必须创建一个委托,并将其设置为MasterViewController,例如DetailViewController

如果是这样,当你回到主人时,代表将被解雇。

答案 2 :(得分:0)

由于显示细节是自适应的,即它要么以紧凑的宽度推入主导航,要么以常规宽度设置为拆分的辅助导航,而您只想知道何时弹出细节,您将需要使用主导航控制器的代理,您也可以将应用代理设置为。