2010-11-11 2 views
5

Я разархивирую файл в фоновом потоке, и я вызываю HomeViewController на основной поток. В этом контроллере представления у меня есть UIBarButtonItem на UINavigationBar. Если я нажму на эту кнопку, она перейдет в StoryViewController, и там будут распакованы данные. поэтому я хочу показать Home view Controller, хотя процесс распаковки не завершен, потому что мне нужно скрыть кнопку на панели навигации, когда распаковка начинается с фонового потока и после завершения аппроксимации снова я должен показать кнопку на Панель навигации. Я вызываю методы homeViewController, чтобы скрыть и показать .. Что мне нужно писать в этих методах ..? я имею в виду, как скрыть и показать uiBarButtonItem на UINavigationBar ....?Как скрыть элемент uibarbutton на панели навигации

Спасибо ....

+0

Дубликат http://stackoverflow.com/questions/4216259/how-to-add-bar-button-to-uinavigationbar-in-iphone –

+0

Старайтесь не дважды поставить тот же вопрос и создать дубликаты. –

ответ

18

После того, как вы создали ваш UIBarButtonItem сказать "MyButton", вы можете добавить/удалить его к навигации контроллера, используя в ваш взгляд контроллера:

if(show) 
    self.navigationItem.leftBarButtonItem = myButton; 
else 
    self.navigationItem.leftBarButtonItem = nil; 
+0

Я добавил barbuttonitem в навигационную панель через IB, если я добавлю ее программно – rockey

+0

в вашем случае, я не вижу причин строить его через IB. вы можете сделать это программно очень легко, используя: [[UIBarButtonItem alloc] initWithBarButtonSystemItem: target: action: – Romain

+0

UIBarButtonItem * addButton1 = [[UIBarButtonItem alloc] initWithTitle: стиль «Пуск»: UIBarButtonItemStylePlain target: self action: @selector (tourBtnClicked :) ]; \t self.navigationItem.leftBarButtonItem = addButton1; добавлен этот код в метод viewDidLoad, но его не работает, добавлена ​​никакая кнопка, я должен добавить навигационную панель также программно ..? – rockey

Смежные вопросы