Кто-нибудь знает, как скрыть rightBarButtonItem
UINavigationController
? В моем приложении у меня есть кнопка редактирования как rightBarButtonItem
UINavigationController
. Я хочу скрыть это? UIBarButton`, когда некоторые операции выполняются.Спрятать rightBarButtonItem навигационного контроллера
ответ
Попробуйте
self.navigationItem.rightBarButtonItem = nil;
Если вы хотите его обратно, хотя вам придется создать экземпляр кнопка IE
UIBarButtonItem *rightBarButton =
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch
target:self
action:@selector(searchBar:)];
self.navigationItem.rightBarButtonItem = rightBarButton;
[rightBarButton release];
Что делать, если я не хочу воссоздать объект? например, я хочу скрыть rightBarButton к широкому кадру поискаBar на titleView навигацииBar. Я имею в виду, что скрытие возможно путем изменения собственности или чего-то еще? –
, если вы хотите подкласс UINavigationController. вы можете сделать: self.topViewController.navigationItem.rightBarButtonItem = rightBarButton; self - ваш пользовательский класс UINavigationController –
Чтобы скрыть правую кнопку: self.navigationItem.rightBarButtonItem = nil;
Теперь, чтобы показать, что:
Если вы настроили правую кнопку в своем контроллере просмотра, назначив ее self.editButtonItem, просто добавьте ее снова, чтобы показать ее:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
Если вы установили правую кнопку в контроллере просмотра, выделив и запустив UIBarButtonItem, просто сохраните ссылку на UIBarButtonItem в своем контроллере просмотра и назначьте его снова, когда вам нужно его показать.
Я попытался назначить rightBarButtonItem на nil в Objective C, это не работает для меня –
Если вам нужно, чтобы скрыть/показать кнопку, основываясь на некоторых условиях, попробуйте следующее:
if (condition) {
self.navigationItem.rightBarButtonItem.title = @"";
self.navigationItem.rightBarButtonItem.enabled = NO;
} else {
self.navigationItem.rightBarButtonItem.title = @"my button title";
self.navigationItem.rightBarButtonItem.enabled = YES;
}
Таким образом, вы не должны сохранить ссылку на кнопку в свойстве или беспокоиться о подключении действия к новой кнопке.
- 1. Снятие навигационного контроллера программно
- 2. Использование навигационного контроллера супервизора
- 3. Вопрос относительно навигационного контроллера
- 4. Изменение корневого контроллера навигационного контроллера панели вкладок
- 5. Настроить заднюю кнопку навигационного контроллера
- 6. Управление обратным манипулятором навигационного контроллера
- 7. Изображение навигационного контроллера вместо текста
- 8. толкая UIViewController без навигационного контроллера
- 9. IOS Анимация без навигационного контроллера
- 10. как проверить название навигационного контроллера
- 11. UISearchController без использования навигационного контроллера
- 12. ios rightBarButtonItem
- 13. Как правильно выровнять rightBarButtonItem после отклонения модального контроллера?
- 14. Скрытие left/rightBarButtonItem на основе представления контроллера представления
- 15. Остановить навигацию от навигационного контроллера swift
- 16. Изменить цвет названия навигационного контроллера! [iPhone SDK]
- 17. Segue для просмотра с помощью навигационного контроллера
- 18. Ввод навигационного контроллера в контроллер панели ввода
- 19. Невозможно скрыть панель инструментов навигационного контроллера
- 20. Вызовите segue из другого навигационного контроллера
- 21. Как найти идентификатор навигационного контроллера из ViewController?
- 22. Сочетание TabBar и навигационного контроллера IOS8
- 23. Обновить вид навигационного контроллера, имитирующего нажатие
- 24. Использование навигационного контроллера с контроллером табуляции
- 25. IOS: управлять viewcontrollers внутри навигационного контроллера
- 26. Быстрая проблема с использованием навигационного контроллера
- 27. Приложение сбой при наведении навигационного контроллера!
- 28. iPhone: TabBarController как второй уровень навигационного контроллера
- 29. , возвращающийся в uiviewcontroller без навигационного контроллера
- 30. Нажатие нового вида без навигационного контроллера
'self.navigationItem.rightBarButtonItems [1] setEnabled: NO];' если у вас есть массив, например, если вы используете гибкое пространство. –