首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pop到RootView控制器问题

Pop到RootView控制器问题
EN

Stack Overflow用户
提问于 2014-02-19 11:00:27
回答 4查看 4.3K关注 0票数 0

在我的项目中,我在导航控制器中添加了一些视图控制器,如。

UIViewController1,UIViewController2,UIViewController3,UIViewController4,UIViewController5考虑UIViewController1是我的导航控制器的根视图控制器。在导航到UIViewContoller5的按钮单击后,我需要返回到我的UIViewController1。所以我在写代码。

代码语言:javascript
复制
 - (void)popToRootViewControllerAnimated
    {
        NSLog(@"%@",[self.navigationController viewControllers]);
        [self.navigationController popToRootViewControllerAnimated:NO];
    }

在控制台中,它打印如下

代码语言:javascript
复制
(
    "<UIViewController1: 0x8e3fcc0>",
    "<UIViewController2: 0x9a5d310>",
    "<UIViewController3: 0x9a67b00>",
    "<UIViewController4: 0x9162a00>",
    "<UIViewController5: 0x9a84380>"
)

但是,在它完成执行后,我的视图将停留在UIViewController3上。如果我在我的[self.navigationController viewControllers]中打印UIViewController3,它会显示,

代码语言:javascript
复制
(
        "<UIViewController1: 0x8e3fcc0>",
        "<UIViewController3: 0x9a67b00>",
    )

我错过了什么。提前谢谢。任何帮助都将不胜感激。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-03-18 07:35:27

试试这个:

代码语言:javascript
复制
UIViewController *firstVc = [viewControllers objectAtIndex:0];
[navCtrl setViewControllers:@[firstVc] animated:NO];
票数 3
EN

Stack Overflow用户

发布于 2014-02-19 12:03:53

试一试,希望这能解决你的问题。

代码语言:javascript
复制
 [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];

这个控制器把你带到所有控制器的0(0)索引处。试试这个

代码语言:javascript
复制
UIViewController *ctrl = [self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count -1];
[self.navigationController popToViewController:ctrl animated:YES];

希望这能解决你的问题。

票数 1
EN

Stack Overflow用户

发布于 2014-02-19 12:05:03

你试过这个吗。

代码语言:javascript
复制
 -(void)backButtonAction
{
   YourAppDelegate *app=(YourAppDelegate *)[[UIApplication sharedApplication]delegate];

   for(UIViewController *vc in app.yourNavigationController.viewControllers)
       {
           if([vc isKindOfClass:[UIViewController1 class]])
           {
             [app.yourNavigationController popToViewController:vc animated:YES];  
           }
       }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21878527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档