我有一个带有主视图控制器的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步对话框,无法直接拖动动作来触发展开。
答案 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];
}
}