У меня есть UINavigationController
в комплекте с табличным представлением и связанной магией.
Данные, из которых я заполняю это табличное представление, могут содержать элементы из нескольких категорий, но для пользователя по умолчанию будет использоваться представление, в котором они просматривают все элементов, а затем они имеют возможность вернуться назад к другому табличному виду, который позволит им выбрать другую категорию, которая затем вернется к исходному табличному виду с заполненными соответствующими данными.
Каков правильный подход к этому? Кажется, я не могу понять, как заставить навигационный контроллер выдавать мне кнопку возврата (с соответствующими действиями), не переходя из предыдущего представления в стеке (которое на самом деле не существовало бы во время запуска, если Я начинаю пользователя с того, что по сути является подробным представлением в терминах стека.)
Кроме того, кнопка «Назад» должна называться «Группы», а не «Назад», но на самом деле это просто деталь реализации. :)
Обновление: Эта проблема наконец-то проявилась в рабочем коде, и вот как я ее исправил:
My UINavigationController
создается в кончике с корневым представлением, установленным как представление «групп». Затем в моем делегате приложения я помещаю второе представление в стек во время запуска приложения.
Это прекрасно работает для получения правильного стека, но это не помогает с заголовком кнопки «назад», потому что контроллер навигации, похоже, не хочет захватывать заголовок из корневого представления, а вместо этого показывает кнопку «Назад» с «Предметом» в качестве заголовка.
Итак, на толчковом виде в viewDidLoad
я установил:
self.navigationController.navigationBar.backItem.title = @"Groups";
и это добилось цели.
Единственным потенциальным недостатком этого способа было бы, если бы контроллер push-представления когда-либо использовался в сценарии, где представленное ниже представление не было представлением групп, но поскольку дизайн этого конкретного приложения гарантирует, что этого никогда не произойдет, Я принимаю эту неудачу. ;)
Еще одно обновление :
Я идиот. Просто установите title
свойство navigationItem
, предоставляемое navigationController
в Интерфейсном Разработчике, и boom, без проблем. Или сделать это в коде. Это не имеет значения, просто не делайте этого, установив backItem.title
, как я покажу вам выше. Это просто глупо.