【问题标题】:How to pop to a specific view controller that is not in the stack?如何弹出到不在堆栈中的特定视图控制器?
【发布时间】:2013-11-23 00:41:54
【问题描述】:

我有一个视图,用户可以在其中将数据添加到表中,并且可以从应用程序中的多个位置访问它。但是,当用户在此视图中按下按钮时,我希望他返回到特定视图,而不仅仅是他来自的任何视图。

我试图用谷歌搜索,但我发现没有一种方法有效。

据我了解,我需要先将所需的视图推送到堆栈,然后再弹出。但是当我这样做时,按下按钮时我得到的只是黑屏。

如何解决?

【问题讨论】:

    标签: ios uinavigationcontroller


    【解决方案1】:

    也许你可以试试这个:

    -(void)popToSpecificViewController:(UIViewController *)controller
    {
        NSMutableArray *mutableVCArray = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
        [mutableVCArray insertObject:controller atIndex:mutableVCArray.count-1];
        [self.navigationController setViewControllers:mutableVCArray animated:NO];
        [self.navigationController popViewControllerAnimated:YES];
    }
    

    【讨论】:

    • 谢谢!这真的很有帮助!
    【解决方案2】:

    您可以使用 segue 来推送该视图控制器,无论如何您都可以通过 xcode 使用 ctrl 并拖动到特定视图来创建 segue,或者您可以通过编程方式在您提到的按钮的 IBAction,如下所示:

    UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"DestinationController"];
    [self.navigationController pushViewController:controller animated:YES];
    

    【讨论】:

    • 非常感谢,帮了大忙!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 2014-03-02
    • 2015-07-12
    • 2011-01-07
    • 1970-01-01
    相关资源
    最近更新 更多