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

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

  • iOS: как нажать ViewController на текущий контекст?
  • UITableView: popViewController и сохранить индекс строки в родительском контроллере?
  • Переход UIViewController - цель-c
  • Раскадровка - Рабочий процесс для игры, основанной на поворотах
  • iOS8 SDK: диспетчер просмотра контейнеров с книжной блокировкой, представляющий сдержанный режим, вызывает серьезные проблемы с компоновкой
  • Xcode / iOS5: переместите UIView вверх, когда появится клавиатура
  • viewDidLoad фактически вызывается каждый раз, когда происходит переход segue
  • Можно ли добавить представление UIViewController к другому представлению UIViewController?
  • 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 } } 
    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.