Unwind segue在iOS9中停止工作>冻结没有崩溃

时间:2015-09-29 15:56:34

标签: ios objective-c xcode segue unwind-segue

我有一个带有主视图控制器的iOS应用程序,它连续显示2个模态。

所以这种顺序:

VC1> M1> M2

我在模态2中有一个展开segue,我想用它跳回VC1。在VC1中,我添加了一个IBAction:

-(IBAction)unwindFromM2:(UIStoryboardSegue *) unwindSegue
{

}

在iOS 8和Xcode 6中一切正常。但是在Xcode 7和iOS 9中,在调用unwind segue M2之后,我注意到unwindFromM2被调用但是前一个视图(M2)没有消失并基本冻结。 Xcode中没有错误或崩溃。寻求建议。

我直接从黄色视图控制器图标拖动到故事板中的退出图标(没有将按钮关联到展开)。这可能是原因吗?我有一个退出视图控制器的2步对话框,无法直接拖动动作来触发展开。

1 个答案:

答案 0 :(得分:0)

iOS9有针对此问题的解决方法。我必须做到放松才能在展开代码中实际弹出视图控制器。

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

- (IBAction)unwindToMyViewController:(UIStoryboardSegue *)segue {
    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"9")) {
        [self.navigationController popViewControllerAnimated:YES];
    }
}