когда пользователь нажимает кнопку Back на моем UINavigationController View, я хочу показать UIAlertView с 2 вариантами.Одна опция (ОК) позволяет пользователю вернуться (к предыдущему экрану), другая (Отмена) останется на текущем контроллере.
Я реализовал следующий код (который я нашел здесь, так)в моем viewWillDisappear:
-(void) viewWillDisappear:(BOOL)animated{
if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) {
// back button was pressed. We know this is true because self is no longer
// in the navigation stack.
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"All Data will be lost"
message:@"You must be connected to the internet to use this app."
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
alert.tag = 1;
[alert show];
[alert release];
}
[super viewWillDisappear:animated];
}
Проблема в том, что после того, как я нажал Назад, представление сразу переходит к предыдущему экрану и отображает на этом экране UIAlertView.
В методе обратного вызова UIAlertViewЯ использовал следующую кодировку, но ничего не происходит (я думаю, что это так, потому что я был в этой точке уже в предыдущем представлении):
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if(buttonIndex == 1)
NSLog(@"back");
//Go Back ...
}
BR, mybecks