Как я могу изменить заголовок UINavigationBar, созданного в Интерфейсном конструкторе - PullRequest
1 голос
/ 02 июля 2010

проблема в том, что я создал UINavigationBar в конструкторе интерфейсов и хочу изменить заголовок. Панель навигации не подключена к моему контроллеру UINavigation. Есть ли какой-нибудь способ, которым я могу сделать это с помощью панели навигации в качестве отдельного от моего пера?

Вторая часть моего вопроса - более общее понимание того, как работают UINavigationBars. Я не понимаю, как работает стек элементов навигации. например, что, если я хочу изменить правый элемент кнопки, чтобы сказать «сделано» вместо «редактировать»? Насколько я понимаю, что левая, центральная и правая панель кнопок находятся в стеке? но тогда как мне узнать, какой элемент находится в каком месте в стеке. Извините, если я здесь упускаю что-то элементарное, но мне нужно кое-что прояснить, как управляются левые, центральные и правые элементы кнопок и как стек работает в этом направлении Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 02 июля 2010

Вы можете использовать пользовательский titleView на панели навигации, в который вы добавили UILabel с текстом по вашему выбору.

Прочтите раздел «Конфигурирование объекта элемента навигации» в Apple View Руководство по программированию контроллера для iPhone OS , чтобы узнать больше о том, как настроить панель навигации.

1 голос
/ 17 марта 2015

создайте IBOutlet этой UINavigationBar, которую вы создали в конструкторе интерфейсов

@property (weak, nonatomic) IBOutlet UINavigationBar *navigationBar;

, затем измените заголовок на

self.navigationBar.topItem.title = @"My Custom Title";
1 голос
/ 05 сентября 2012

UINavigationController является подклассом UIViewController, но в отличие от UIViewController он обычно не предназначен для вас подкласса.Это связано с тем, что сам навигационный контроллер редко настраивается за пределы визуальных элементов навигационной панели.

Экземпляр UINavigationController можно создать либо в коде, либо в файле XIB с относительной легкостью.Он считается стеком: у него есть корневой контроллер представлений, а затем новые контроллеры представлений можно помещать в стек (часто, когда пользователь нажимает на строку в таблице) или выталкивать из стека (часто нажатием кнопки «назад»).).

Контроллер корневого представления может быть установлен в XIB путем перетаскивания контроллера представления под контроллером навигации или в коде с помощью initWithRootViewController при его создании.

Стек навигации

Для навигации пользователя по стеку используются четыре метода:

- pushViewController: animated: - popViewControllerAnimated: - popToRootViewControllerAnimated: - popToViewController: animated:

...