当用户单击“< Back”按钮时触发事件

时间:2014-04-17 06:05:11

标签: ios ios7 rubymotion

我有两个屏幕相当简单UINavigationControllers:screen1&画面2。

当用户在screen2并点击< Back时,我想在显示screen1之前触发事件 - 基本上我想从服务器获取screen1的数据。

有办法做到这一点吗?

4 个答案:

答案 0 :(得分:1)

viewDidLoad执行此操作:

UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_back.png"] style:UIBarButtonItemStylePlain target:self action:@selector(goBack:)];
self.navigationItem.leftBarButtonItem = backBarButton;

实施方法goBack

- (void)goBack:(id)sender {
    //Do something
    [self.navigationController popViewControllerAnimated:YES];
}

希望这会有所帮助.. :)

答案 1 :(得分:0)

如果你正在使用故事板,你可以在。

处理你的后退行动
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

答案 2 :(得分:0)

仅在viewWillDisappear中执行此操作。不幸的是,当您在当前屏幕上显示新屏幕时,它也会被触发,而不仅仅是当您点按后退按钮时。但是,您可以添加自定义后退按钮,并将代码放在其操作方法中。操作完成后,请致电[self.navigationController popViewControllerAnimated:YES]

答案 3 :(得分:0)

 -(void)viewWillDisappear:(BOOL)animated{
    if (![self.navigationController.viewControllers containsObject:self]) {
        NSLog(@"Back Event");
    }
}

你可以两种方式做。

  1. 创建自定义按钮并设置事件。

  2. 用户弹出屏幕时检查viewWillDisappear