Я хотел бы сохранить некоторые данные в NSUserDefaults для пользователя, оставляющего представление таблицы в стеке UINavigation. Я хотел бы иметь возможность использовать кнопку возврата по умолчанию (кнопка с шевром), сохраняя при этом надежный способ сохранения данных. Я пробовал использовать метод viewDidDisappear
, но я не уверен, насколько это надежно. Я беспокоюсь, что это может быть вызвано, когда приложение будет убито (или любое другое системное действие, которое может вызвать метод). Единственный способ выйти из контроллера просмотра - через кнопку «Назад». Я не уверен, что еще попробовать, если то, что я попробовал, это метод, который можно использовать, пожалуйста, скажите. Благодарю.Возврат в стеке навигации с помощью кнопки «Назад»
ответ
Возможно, использование UINavigationControllerDelegate поможет вам в этом, так что вы будете знать о появлении и нажатии вашего навигационного контроллера.
self.navigationController.delegate = self;
и в push или pop эта функция делегата вызывается, вы можете проверить контроллер представления, который будет представлен.
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
if (viewController.class == [YourPreviousViewController class]) {
//back clicked, poping
}
}
Мы столкнулись с той же проблемой и закончили использование специальной кнопки навигационной панели с действием. Было довольно легко воспроизвести обратную стрелку по умолчанию. Причина, по которой мы решили пойти таким путем, заключается в том, что мы обнаружили, что мы не имели достаточного контроля над сохранением данных в противном случае, возможно, что данные могут не сэкономить время до того, как представление было отклонено. Кроме того, в нашем случае пользователь может не захотеть сохранить изменения и просто хочет вернуться из представления. Использование действия позволило нам предупредить пользователя о том, что данные не были сохранены и предоставили им возможность сохранить или нет.
- 1. Крушение кнопки навигации «Назад»
- 2. Запрашивать разрешения наборы назад на стеке навигации
- 3. Возврат к основному виду с помощью кнопки навигации на панели
- 4. Настройка кнопки навигации назад и окна навигации?
- 5. UIViewController назад пользовательские кнопки навигации
- 6. Использование пользовательского сегмента для перемещения назад в стеке навигации
- 7. Управление видами навигации в стеке
- 8. Нажатие кнопки «Назад» на панели навигации с помощью EarlGrey
- 9. Управление изменениями в стеке навигации
- 10. Добавление кнопки в стеке с помощью кода
- 11. Добавление кнопки назад в панель навигации
- 12. TableView в стеке навигации не анимируется
- 13. Перезагрузка с помощью кнопки «Назад»
- 14. Добавлена панель навигации, но нет кнопки «Назад»?
- 15. Какой метод при нажатии кнопки навигации «назад»?
- 16. Искаженной панели навигации пользовательской кнопки назад
- 17. Изменить элемент навигации назад название кнопки
- 18. Изменить цвет кнопки «Назад» на панели навигации
- 19. Перехват назад навигации в iOS7
- 20. Viewcontrollers отсутствуют в стеке навигации
- 21. Назад навигация с кнопки просмотра предупреждения
- 22. Запуск с одним ViewController в стеке навигации
- 23. ios7 новый жест жесты для возврата назад в стеке навигации не очищает выбор табуляции
- 24. iOS7 UINavigationItem назад название кнопки не работает
- 25. Проблема с CodeIgniter с помощью кнопки «Назад»
- 26. Пропустить/добавить контроллер просмотра в стеке навигации
- 27. Как отправить сообщение с помощью кнопки «Назад»
- 28. JQuery .slideToggle с помощью кнопки назад/вперед
- 29. Как убить активность с помощью кнопки «Назад»?
- 30. Запретить анимацию при нажатии кнопки «Назад» на панели навигации?