【问题标题】:Unwind segue stopped working in iOS9 > Freeze with no crashUnwind segue 在 iOS9 中停止工作 > 冻结而没有崩溃
【发布时间】:2015-12-27 04:59:04
【问题描述】:

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

所以这种序列:

VC1 > M1 > M2

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

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

}

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

我确实直接从黄色视图控制器图标拖动到情节提要中的退出图标(没有将按钮与展开相关联)。这可能是原因吗?我有一个用于退出视图控制器的两步对话框,并且无法直接拖动动作来触发展开。

【问题讨论】:

  • 我也有同样的问题。 Xcode 7 编译到带有 iOS8 的设备可以正常工作,但是当编译到 iOS9 设备时,展开不起作用。

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


【解决方案1】:

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];
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    相关资源
    最近更新 更多