Пример кода для установки правой кнопки
на панели навигации
.
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonItemStyleDone target:nil action:nil];
UINavigationItem *item = [[UINavigationItem alloc] initWithTitle:@"Title"];
item.rightBarButtonItem = rightButton;
item.hidesBackButton = YES;
[bar pushNavigationItem:item animated:NO];
Но обычно у вас есть NavigationController
, позволяющий писать:
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.rightBarButtonItem = rightButton;
Ответы выше хороши, но я хотел бы дополнить их еще несколькими советами:
Если вы хотите изменить заголовок кнопки возврата (стрелка-y, указывающая на то, что слева от панель навигации), вы ДОЛЖНЫ сделать это в ПРЕДЫДУЩЕМ контроллере представления, а не в том, для которого он будет отображаться. Это как сказать «эй, если вы когда-нибудь нажмете другой контроллер представления поверх этого, вызовите кнопку« Назад »(или что-то еще) вместо кнопки по умолчанию»
. Если вы хотите скрыть кнопку возврата во время особого состояние, например, пока отображается UIPickerView, используйте self.navigationItem.hidesBackButton = YES;
и не забудьте вернуть его обратно при выходе из особого состояния.
Если вы хотите отобразить одну из специальных символических кнопок, используйте форму initWithBarButtonSystemItem: target: action
со значением вроде UIBarButtonSystemItemAdd
Помните, что значение этого символа зависит от вы, но будьте осторожны с Руководством по человеческому интерфейсу. Использование UIBarButtonSystemItemAdd для обозначения удаления элемента, вероятно, приведет к отклонению вашего приложения.