Заголовок и элемент rightBarButtonItem исчезают из UINavigationBar

Я использую UIViewController для перечисления элементов в двух разных местах. Одно место является его домом по умолчанию, а другое — местом, где другой контроллер помещает его в стек навигации для просмотра списка элементов.

Оба места позволяют добавлять в него новые элементы, нажимая кнопку добавления на панели навигации. Поведение списка определяется на основе NSObject *, называемого targetController, который устанавливается вызывающей стороной на его ссылку self, в противном случае это nil по умолчанию.

Я столкнулся с проблемой, из-за которой, если бы они оба отображались одновременно на отдельных вкладках tabBar, панель навигации title/rightBarButtonItem исчезла бы на той, которая была вызвана первой. Я, наконец, понял, что navBar заменял стек items всякий раз, когда представление списка было нажато, что приводило к удалению navigationItem.

Мое единственное решение - заставить представление списка открываться всякий раз, когда нажимается элемент кнопки tabBar. Есть ли лучший способ?

Кстати, я решил использовать один и тот же контроллер в двух разных местах, чтобы избежать дублирования функций и, таким образом, поддерживать меньше кода.


person Brenden    schedule 28.07.2009    source источник
comment
Вы показываете один и тот же экземпляр контроллера в обоих местах?   -  person Tim    schedule 29.07.2009
comment
Да, да, и я использую контроллер корневой панели вкладок для хранения ссылок на каждый экземпляр для их ленивой загрузки. Полагаю, я мог бы использовать разные экземпляры, но я уже решил эту проблему, имея корневую панель вкладок popToRoot при выборе элемента вкладки.   -  person Brenden    schedule 29.07.2009


Ответы (1)


Я почти уверен, что выталкивание и выталкивание представлений из стека навигации — это правильный способ обработки переключения представлений, и что если вы все вместе уходите от навигации, выталкивание представлений, вероятно, является хорошим способом. для поддержания низкого уровня использования памяти. Только не забудьте их тоже выпустить.

person TahoeWolverine    schedule 29.07.2009