设备轮换后UISplitViewController和MMDrawerController的开始/结束外观转换的不平衡调用?

时间:2015-02-05 17:08:14

标签: ios objective-c uisplitviewcontroller mmdrawercontroller

我有一个iPad应用程序,使用MMDrawerController和UISplitViewController作为它的中心视图控制器,左右两个横向运行。左视图控制器是一个UIViewController,带有UITableView,可以在应用程序的不同部分之间导航。没有旋转设备一切正常,没有问题,虽然当我旋转设备并尝试打开左抽屉并选择一个新视图推送时,我接收到#34;非平衡调用开始/结束外观转换。 "错误。由于这一点,没有一个viewWillAppear / viewDidAppear方法运行导致问题。

以下是我如何更改左侧抽屉UITableView中拆分视图控制器的左侧窗格:

NewsLVC *newsLVC = [[NewsLVC alloc] init];

[[[AppController sharedAppController].splitController.viewControllers objectAtIndex:0] setViewControllers:@[newsLVC] animated:NO];

[self.mm_drawerController setCenterViewController:[AppController sharedAppController].splitController withCloseAnimation:YES completion:nil];

我不知道是什么导致了这种情况,旋转时发生的唯一操作是调用layoutView方法,但即使我注释掉调用它的行,也会发生这种情况。

1 个答案:

答案 0 :(得分:0)

经过一天调试同样的问题,我发现这是由于MMDrawerController手动传递旋转,这在iOS8中是不必要的(也是错误的)。请参阅此拉取请求,了解如何修补MMDrawer:

https://github.com/mutualmobile/MMDrawerController/pull/288