Кто-нибудь знает, как скрыть rightBarButtonItem
от UINavigationController
? В моем приложении у меня есть кнопка редактирования rightBarButtonItem
UINavigationController
. Я хочу скрыть это? UIBarButton`, когда выполняются некоторые операции.
Скрыть правый элементBarButtonItem навигационного контроллера
Ответ 1
Скрыть правую кнопку: self.navigationItem.rightBarButtonItem = nil;
Теперь, чтобы показать это:
-
Если вы настроите правую кнопку в контроллере просмотра, назначив ее self.editButtonItem, просто добавьте ее еще раз, чтобы показать ее:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
-
Если вы настроите правую кнопку в своем контроллере просмотра, выделив и запустив UIBarButtonItem, просто сохраните ссылку на UIBarButtonItem в своем контроллере просмотра и назначьте его снова, когда вам нужно его показать.
Ответ 2
Попробуйте
self.navigationItem.rightBarButtonItem = nil;
Если вы хотите, чтобы он вернулся, хотя вам нужно будет запустить кнопку i.e.
UIBarButtonItem *rightBarButton =
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch
target:self
action:@selector(searchBar:)];
self.navigationItem.rightBarButtonItem = rightBarButton;
[rightBarButton release];
Ответ 3
Если вам нужно скрыть/показать кнопку на основе какого-либо условия, попробуйте следующее:
if (condition) {
self.navigationItem.rightBarButtonItem.title = @"";
self.navigationItem.rightBarButtonItem.enabled = NO;
} else {
self.navigationItem.rightBarButtonItem.title = @"my button title";
self.navigationItem.rightBarButtonItem.enabled = YES;
}
Таким образом, вам не нужно сохранять ссылку на кнопку в свойстве или беспокоиться о подключении действия к новой кнопке.