Home  >  Q&A  >  body text

ios - Naviagtion Controller和Tab Bar Controller问题

用storyboard加入一个Naviagtion Controller接上一个View Controller,点击View Controller里面的Button按钮时跳转到Tab Bar Controller页面。

这个是流程,问题是:运行之后,进入Tab Bar Controller界面,点击左上方的Back按钮时,直接进入上一个View Controller界面,我想在点击Back按钮时弹出“是否确认返回”对话框,请问如何实现?谢谢

PHP中文网PHP中文网2647 days ago309

reply all(1)I'll reply

  • 天蓬老师

    天蓬老师2017-04-17 13:40:22

    有两种方法。
    1.

    -(void) viewWillDisappear:(BOOL)animated {
        if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) {
           //在这里加上 alertview 
          [self.navigationController popViewControllerAnimated:NO];
        }
        [super viewWillDisappear:animated];
    }
    

    2.创建一个自定义的 button

    - (void)viewDidLoad {
        [super viewDidLoad];
        UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle:@"Home" style:UIBarButtonItemStyleBordered target:self action:@selector(home:)];
        self.navigationItem.leftBarButtonItem=newBackButton;
    }
    
    -(void)home:(UIBarButtonItem *)sender {
            //在这里增加一个 alertview 
           //在 alertview 的回调方法中写上 [self.navigationController popToRootViewControllerAnimated:YES]; 就可以返回了
    }
    

    reply
    0
  • Cancelreply