1

在 iOS 7 中,一切都按预期工作。在没有代码更改的情况下,在 iOS 8 中,我的菜单视图控制器本身不能呈现任何其他视图控制器,并在我尝试关闭它时将错误打印到日志中。当我尝试在堆栈上呈现更多视图控制器时,从使用我的自定义转换呈现的 VC 中,我尝试并且根本没有发生任何事情,就好像我在 nil 上调用方法一样,而我不是。这是我如何呈现它:

// Get menu from storyboard
UINavigationController *modalViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MenuNavigationController"];

// Set self as transition delegate
modalViewController.modalTransitionStyle = UIModalPresentationCustom;
modalViewController.transitioningDelegate = self;

// Present menu
[self presentViewController:modalViewController animated:YES completion:^{}];

然后,当我尝试从呈现的菜单 vc 中呈现更多视图控制器时,iOS 8 中没有任何反应!但是,当我尝试关闭以自定义方式呈现的菜单时,我在控制台/日志中得到了这个:

attempt to dismiss modal view controller whose view does not currently appear. self = <UINavigationController: 0x7f90e8f5b210> modalViewController = <UINavigationController: 0x7f90e9bf63b0>

有任何想法吗?在使用自定义转换以模态方式呈现视图控制器时,iOS 7 和 8 之间有什么不同?我要解决的主要问题是我希望我的菜单能够像在 iOS 7 中一直能够做到的那样推动其他视图控制器。我还需要弄清楚如何在没有 VC 的情况下关闭菜单错误!

有任何想法吗?

4

0 回答 0