Определите, было ли отображаемое представление нажато или появилось из кнопки «Назад» на панели навигации

Есть ли способ узнать, появился ли новый контроллер из кнопки обратной навигации или был перенесен в стек? Id нравится перезагружать данные только для нажатия на стек навигации, а не на кнопку «Назад».

3 Solutions collect form web for “Определите, было ли отображаемое представление нажато или появилось из кнопки «Назад» на панели навигации”

Начиная с iOS 5.0 вы можете сделать это:

- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; if (self.isBeingPresented || self.isMovingToParentViewController) { // "self" is being shown for the 1st time, not because of a "back" button. } } 

Если ваш push также включает в себя создание экземпляра контроллера представления, поместите свою логику push-only в viewDidLoad . Он не будет вызван обратно, потому что он уже загружен.

Вы можете реализовать UINavigationControllerDelegate и переопределить метод `navigationController: didShowViewController: анимированный: '. Затем вам нужно будет проверить возвращаемый контроллер просмотра, чтобы определить, вернулись ли вы с ожидаемого контроллера представлений.

 - (void)navigationController:(UINavigationController*)navigationController didShowViewController:(UIViewController*)viewController animated:(BOOL)animated { if (yourPushedViewController == viewController) { // Do something } } 
  • Несбалансированные вызовы UIViewController при запросе разрешений HealthKit
  • Разочарованный с инициализацией представления в loadView
  • Почему не определяет размер контроллера моего представления с помощью frameOfPresentedViewInContainerView?
  • Медленное время загрузки UIViewController (медленное предупреждение ClientState)
  • Чистый способ принудительного просмотра представлений
  • Можно ли изменить контроллер рамки в UITabBarController, чтобы вид UITabBarController был виден?
  • Макет UITabBarController нарушен, когда UIViewController представлен с UIViewControllerAnimatedTransitioning и повернут в iOS8
  • self.navigationController pushViewController не добавляет контроллер в стек
  • IOS 7 пользовательская анимация UINavigationController не работает с mapView в контроллере назначения
  • Правильный способ скрыть строку состояния в iOS, с анимацией и изменением размера корневого представления
  • Как обновить дочерние контроллеры при добавлении / удалении с контроллера контейнера?
  • Interesting Posts

    Как отслеживать использование наклеек и его установку на устройствах iOS

    Передача данных с кнопки в повторно используемой пользовательской ячейке

    AFNetworking и Swift

    Использование FetchedResultsController и ManagedObjectContext в нескольких диспетчерах просмотра

    Как сохранить всплывающее меню боковой панели через приложение iOS

    Как отправить события касания к следующему ответу в Swift

    Как удалить метку значения над каждым столбцом на гистограмме для диаграмм ios

    Как мне избавиться от белой границы вокруг видео YouTube, встроенного в UIWebView?

    UIKeyboard не скрывается, когда я прикасаюсь за клавиатуру

    как проверить, является ли NSString = конкретное значение строки?

    MonoTouch: метод округления UIImage

    Действие при нажатии клавиши возврата на клавиатуре (iOS)

    Выравнивание текста UIAlertController

    OCMockito IOS – сбой на Xcode 5.1

    Apple отклонила мое приложение из-за сбоя при загрузке, и я не могу воспроизвести его. Что мне делать?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.