Я добавил свою левую кнопку навигации, используя раскадровку. но я хочу, чтобы он спрятался, когда я впервые загрузил экран. И затем в ответ на что-то еще, я хочу, чтобы он показывал. На панели навигации есть метод скрытия кнопки «Назад». Но нет способа скрывать/показывать левую кнопку. Есть ли простой способ сделать это? Или мне нужно использовать два метода: метод скрытия создает пустую кнопку, а метод показа создает правильную кнопку? Эта кнопка - это только шаблон Add
, который предоставляет iOS (что упрощает использование только одного в раскадровке, чем создание моего собственного).скрыть и показать левую кнопку навигации по требованию в iOS-7
8
A
ответ
30
Вот как я решил, что
-(void) hideAndDisableRightNavigationItem
{
[self.navigationItem.rightBarButtonItem setTintColor:[UIColor clearColor]];
[self.navigationItem.rightBarButtonItem setEnabled:NO];
}
-(void) showAndEnableRightNavigationItem
{
[self.navigationItem.rightBarButtonItem setTintColor:[UIColor blackColor]];
[self.navigationItem.rightBarButtonItem setEnabled:YES];
}
-2
Вот что я сделал. На начальном экране я хотел, чтобы скрыть панель навигации:
self.navigationController.navigationBarHidden = YES;
На втором экране я хотел показать панель навигации, так что я установить:
self.navigationController.navigationBarHidden = NO;
8
Swift версия @learner ответ
func hideAndDisableRightNavigationItem(){
self.navigationItem.rightBarButtonItem?.enabled = false
self.navigationItem.rightBarButtonItem?.tintColor = UIColor.clearColor()
}
func showAndEnableRightNavigationItem(){
self.navigationItem.rightBarButtonItem?.enabled = true
self.navigationItem.rightBarButtonItem?.tintColor = UIColor. blackColor()
}
+0
отлично работал для меня. –
Это сексуально. Лучшее решение для стека. –
Я ссылался на это в своем ответе на аналогичный вопрос. Надеюсь, вы не против. http://stackoverflow.com/questions/5588767/how-do-i-hide-show-the-right-button-in-the-navigation-bar/27262875#27262875 –
Вы спасли мое время) Thnx! работает для меня) – Nubaslon