Контроллер навигации и заголовок для предыдущего экрана в навигации?

Поэтому, если я нахожусь на экране, я могу перейти к следующему навигационному экрану с помощью pushViewController, и я просто перейду к следующему экрану, используя backButton на предыдущем экране.

Имеет ли предыдущий экран (экран, на который нажата кнопка «Назад») … имеет ли это имя? (Как и предыдущий элемент управления, что-то вроде этого)?

Моя цель, стоящая за этим вопросом:

Если у меня есть 5 экранов (1, 2, 3, 4, 5 соответственно) … скажем, я перемещаюсь с 1 -> 3, а в другом случае я перемещаюсь от 2 -> 3. Я хочу сказать, что если " ПредыдущийViewController был 1 ", затем перейдите от 3 до 4 (1 -> 3 -> 4), иначе, если предыдущийViewController был 2, я хочу перейти к 3 – 5 (2 -> 3 -> 5) …

Как я могу сделать что-то подобное?

Благодаря !

ps Я знаю, я мог бы также попробовать что-то разумное и логичное с другим подходом и просто pushViewController соответственно. Но если есть решение для проверки предыдущегоViewController, это облегчит мою задачу и станет отличным опытом обучения.

Вы можете это сделать, используя свойство viewControllers UINavigationController . Об этом говорит Apple :

Контроллер корневого представления имеет индекс 0 в массиве, контроллер заднего вида – индекс n-2, а верхний контроллер – индекс n-1, где n – количество элементов в массиве.

Ваш «предыдущий контроллер» – это то, что Apple определяет «контроллер обратного просмотра», соответствующий индексу n-2:

 NSUInteger arraySize = [navController.viewControllers count]; UIViewController* prevController = [navController.viewControllers objectAtIndex:count-2]; 

Нет, не существует прежнего контроля. UINavigationController реализуется как стек, поэтому вы продолжаете нажимать на контроллеры представлений, и они могут выскакивать из стека.

FYI, если вы пытаетесь просмотреть весь стек контроллеров view, тогда UINavigationController имеет свойство «viewControllers», которое реализовано как NSArray.

  • Неправильный UISearchBar касается области
  • Неуравновешенные вызовы для начала и конца перехода на внешний вид после полноэкранного видео Youtube
  • Скрыть кнопку перехода на панели навигации в Истории iOS
  • Увольнение ViewController показано как Popover segue изнутри другого Popover
  • Как добавить контроллер навигации с помощью Interface Builder?
  • Изображение UITabBar MoreViewController в UITableView исчезает после программного выбора его
  • Стиль UINavigationController
  • Удаление праваBarButtonItem из moreNavigationController UITabBarController
  • как обнаружить штрихи на фоне панели инструментов UINavigationController
  • EXC_BAD_ACCESS при добавлении UINavigationController в окно
  • iOS Push Navigation Controller, без панели на втором экране
  • Interesting Posts

    Могу ли я обмениваться файлами / данными через группы приложений, но в разных приложениях учетных записей разработчиков?

    Оптимизация запроса на основные данные

    Ошибка Codesign в Xamarin Studio 5.9.7 (сборка 9) и Xamarin.iOS 9.0.1.18

    Как продлить сеанс оповещения?

    Подкласс IOS 5 UIDocument обратно совместим?

    Добавить обратный вызов ввода в AVAudioEngine

    Добавление одной и той же кнопки ко всем контроллерам просмотра в UINavigationController

    AVAssetExportSession терпит неудачу каждый раз (ошибка -12780)

    Копировать стилизованный текст из UIWebView?

    IOS semaphore_wait_trap в основном потоке, вызывающем зависание в пользовательском интерфейсе

    iOS – AWS MobileHub вступает с поставщиком, прошедшим проверку подлинности разработчика

    Как я могу добавить пользовательские подклассы UIControl графически в IB в Xcode 4?

    Автоматическое изменение размера приложения iPhone xib для ipad

    Как получить UUID сборки во время выполнения и базовый адрес изображения

    Модальная прокрутка iFrame на ipad / iphone

    Давайте будем гением компьютера.