2010-08-04 6 views
0

У меня есть приложение для табуляции с панелью навигации. Для одного из действий я программирую контроллер навигации программно и добавляю представление с табличным представлением. Я хочу удалить эту навигационную панель и табличный вид, программно нажав кнопку на новой панели навигации. как это сделать?Как удалить контроллер навигации с видом

Я пробовал popview, но он не вылетает.

+0

Я плохо понимаю ваш вопрос. Вы имеете в виду, что у вас есть кнопка, и вы хотите, когда пользователь нажмет на нее, вы удалите навигационную панель – vodkhang

+0

да. при нажатии кнопки на панели навигации, панель просмотра и панель навигации должны быть удалены. – thndrkiss

ответ

0

Чтобы скрыть это

[[self navigationController] setNavigationBarHidden:YES]; 

Если вы добавили UINavigationController поверх другого UIViewController, то от контроллера uiNaviagation, вы не сможете удалить панель навигации, даже если вы удалите текущий вид, и все подчиненные. (Родитель UIViewController также получить панель навигации)

Один из способов исправить это, получить доступ к приложению делегата и удалить верхний вид из окна, прежде чем добавления UINavigationController

AppDelegate *dg = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
NSArray *ar = [[dg window] subviews]; 
//then remove all the views in ar 
//then add uinavcontroller 
[[dg window] addSubView:[uinavcontroller view]]; 

затем добавить UINavigationController, когда вы хотите заменить UInavigationcontroller на первый UiViewController. выполните аналогичные шаги, как описано выше.

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