模态呈现的视图控制器无法展开

时间:2014-09-25 14:30:18

标签: xcode6 modalviewcontroller uistoryboardsegue

我在UINavigationController中嵌入了一个UIViewController sublcass(VC1)。 VC1触发一个模态segue到另一个UIViewController子类(VC2),它嵌入在它自己的不同的UINavigationController中。在VC2导航栏中由UIBarButtonItem触发的动作方法内部,我调用

[self performSegueWithIdentifier:@"SomeString" sender:nil]

,对应VC1内的展开方法。出于某种原因,不会发生过渡。

切换到XCode 6之后才成为一个问题。它在XCode 5中运行良好。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这个问题一直在进行,我有完全相同的问题。不幸的是,除了回到旧的delegate模式之外,还没有很好的解决方案。

如果您继承父视图控制器导航控制器并实现- (UIViewController*)viewControllerForUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender,您将看到模态实际上是在导航控制器上寻找unwindSegue方法而不是显示模态的视图控制器。

如果您有一个容器视图控制器,问题就会变得更加放大,因为上面的方法会在控制器链中一直调用到故事板的初始视图控制器。

这里有一个潜在的解决方法Unwind Segue not working in iOS 8但它也有其缺点和副作用。