В моем UIViewController
у меня есть UINavigationController
с кнопкой возврата по умолчанию. Когда пользователь нажимает кнопку "Назад" , появляется предупреждающее сообщение: "Вы действительно хотите вернуться?". Я знаю, что невозможно заблокировать событие кнопки "Назад" . Это возможно только для использования viewWillDisappear
и установки флага:
- (void)viewWillDisappear:(BOOL)animated {
if (backBtnPressed) {
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Question" message:@"Do you really want to go back?" delegate:self cancelButtonTitle:@"No" otherButtonTitles: @"Yes", nil] autorelease];
[alert show];
}
}
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) {
// don't go back!
// cancel the back button event
}
else if (buttonIndex == 1) {
// go back
}
}
Но с этим кодом у меня нет шансов! Я не могу остановить событие кнопки "Назад" , не так ли?
Должен ли я написать свою собственную кнопку возврата и установить ее как leftBarButtonItem
? Или есть кто-нибудь с отличной идеей?: -)
Спасибо за вашу помощь!