【问题标题】:Unwind Segue Goes Back Too Far放松 Segue 回归太远了
【发布时间】:2016-04-27 17:40:24
【问题描述】:

我有一个嵌入在 firstNavigationController 中的 firstViewController,它与嵌入在另一个 secondNavigationController 中的新 secondViewController 有模态连接。这个新的控制器执行一个 unwind segue 回到 firstViewController

secondViewController

- (void) cancelAction{
     [self performSegueWithIdentifier:@"backHoney" sender:self];
}

firstViewController:

- (IBAction)backToHoney:(UIStoryboardSegue *)sender{
}

这可行,但有一种情况是,嵌入在Nav 中的另一个viewCfirstViewController 有模态segue。当用户从这个viewC 转到firstViewController 再到secondViewController 并尝试返回到第一个位置时,它会一直返回到viewC 而不是第一个位置。

【问题讨论】:

    标签: ios objective-c uinavigationcontroller unwind-segue


    【解决方案1】:

    你应该使用 popToviewController 而不是 unwing segue。你可以通过这个去导航栈的任何viewController。

    例如,

    NSArray *viewArr = [self.navigationController viewControllers];   //returs viewcontroller array
    [self.navigationController popToViewController:[viewArr objectAtIndex:0] animated:YES];
    //you can pass different index to go to differen VC
    

    您可以参考我的this answer了解更多详情。

    希望这会有所帮助:)

    【讨论】:

    • 我需要从secondNavController 放松到firstNavController。还传递数据。这不只是为了在同一个 NavController 中导航所有 viewController 吗? @狮子
    • 您可以使用委托和协议来传递数据。没有强制使用 unwind segue。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多