【问题标题】:How to move to First viewController from last View controller among multiple view controllers如何从多个视图控制器中的最后一个视图控制器移动到第一个视图控制器
【发布时间】:2010-06-23 21:54:30
【问题描述】:

嗨...我是 iPhone 编程的新手...谁能帮帮我...!! 我有多个 viewControllers..在第一个 ViewController 中调用 HomeViewController 我调用了方法 [self presentModalViewController:aboutViewController animated:YES];在 aboutButton 的 IBAction 中移动到 AboutViewController 在 AboutViewController 我调用了方法 [self presentModalViewController:ContactUsViewController animated:YES];移动到该视图控制器和另一种方法 [self dismissModalViewControllerAnimated:YES];返回 HomeViewController。

第三次,ContactUSViewController我调用了方法[selfdismissModalViewControllerAnimated:YES];回到AboutViewController..我想从这里直接进入HomeViewController(ContactUsViewController)。我使用了[self presentModalViewController:homeViewController动画:是的];但它不起作用......

如何做到这一点...?

谢谢你..

【问题讨论】:

    标签: iphone viewcontroller


    【解决方案1】:

    根据doco for dismissModalViewControllerAnimated

    如果你呈现几个模态视图 控制器连续,因此 构建一堆模态视图 控制器,在一个 堆栈中较低的视图控制器 关闭其直接子视图 控制器和所有视图控制器 在堆栈上的那个孩子之上。什么时候 发生这种情况,只有最顶层的视图 以动画方式被解雇; 任何中间视图控制器都是 简单地从堆栈中删除。

    因此,您需要从您的 ContactUsViewController 调用 HomeViewController 上的 dismissViewControllerAnimated。您可以通过 parentViewController 属性访问该视图控制器。所以您在 ContactUsViewController 的dismissAction 中的代码是:

    - (IBAction)dismissAction:(id)sender
    {
        // get your parent (ie AboutViewController)
        UIViewController * parent = self.parentViewController;
    
        // get its parent (ie HomeViewController)
        [parent.parentViewController dismissModalViewControllerAnimated:YES];
    }
    

    可能有更好的方法可以访问您的 HomeViewController,但对于您的视图控制器的浅层堆栈,这应该没问题(我试过了,它奏效了)。

    【讨论】:

    • @macharlarakesh 如果您需要澄清有关此答案的具体内容,请在此处发表评论。
    • @macharlarakesh 很高兴听到它:)。您可以通过单击左侧投票编号正下方的“接受答案”打勾来表明答案是有帮助的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多