UINavigateController到指定层数,退到指定层数

来源:互联网 发布:mac命令行终端软件 编辑:程序博客网 时间:2024/05/29 15:47

- (void)viewDidLoad

{

    [superviewDidLoad];

// Do any additional setup after loading the view.

    self.navigationItem.titleView.frame =CGRectMake(120,0, 80,30);

    self.title = [NSStringstringWithFormat:@"%d",self.navigationController.viewControllers.count];

    UITapGestureRecognizer *tap = [[UITapGestureRecognizeralloc] initWithTarget: self action:@selector(myTap)];

    self.view.userInteractionEnabled =YES;

    [self.viewaddGestureRecognizer:tap];

    NSLog(@"%@",self.navigationController.viewControllers);

//    if ([self.]) {

//        <#statements#>

//    }

//    

}


- (void)myTap

{

   UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"要努力奋斗" message:@"难做也得做" delegate:self cancelButtonTitle:@"不想做的点这里" otherButtonTitles:@"进入下1",@"进入第5",@"返回第三层",@"返回人间",nil];

    [alertshow];

}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

   switch (buttonIndex) {

       case 0:

           exit(0);

           break;

       case 1:

        {

            RootViewController *ctl = [[RootViewControlleralloc] init];

            [self.navigationControllerpushViewController:ctl animated:YES];

           break;

        }

       case 2:

        {

            NSMutableArray *arr = [[NSMutableArrayalloc] init];


            if (self.navigationController.viewControllers.count-1<5) {

                for (RootViewController *objin self.navigationController.viewControllers ) {

                [arraddObject:obj];

            }

               for (int i =self.navigationController.viewControllers.count-1; i<4; i++) {

                   

                    

                    RootViewController *ctl = [[RootViewControlleralloc] init];

                    [arraddObject:ctl];

                }

            }else{

               for (int i =0; i<5; i++) {

                    [arr addObject:self.navigationController.viewControllers[i]];

                }

            }

            [self.navigationControllersetViewControllers:arr animated:YES];

           NSLog(@"%@",arr);


//            RootViewController *ctl = [[RootViewController alloc] init];

//            [self.navigationController pushViewController:[[RootViewController alloc] init] animated:YES];

        }

            //navigationController.viewControllers[5]

           break;

       case 3:

            if (self.navigationController.viewControllers.count<4) {

               NSLog(@"没下到三层就想回到三层?没门!");

               break;

            }

            [self.navigationControllerpopToViewController:self.navigationController.viewControllers[2]animated:YES];

           break;

       case 4:

            [self.navigationControllerpopToRootViewControllerAnimated:YES];

           break;

       default:

           break;

    }

}

0 0