2015-04-09 3 views
0

Я использую am SWRevealViewController в своем приложении iOS 8.2. Он работает отлично, но когда отображается мой взгляд, хотя в верхней строке экрана висит матовая панель навигации в строке состояния. Он покрывает мое фоновое изображение, и я не нашел простой способ его удалить.Как удалить вкладку навигации, добавленную SWRevealViewController?

mainView = [[ViewController alloc] init]; 
sideMenu = [[MenuController alloc] init]; 

UINavigationController * frontViewController = [[UINavigationController alloc] initWithRootViewController:mainView]; 
UINavigationController * rearViewController = [[UINavigationController alloc] initWithRootViewController:sideMenu]; 

revealController = [[SWRevealViewController alloc] initWithRearViewController:rearViewController frontViewController:frontViewController]; 
revealController.delegate = mainView; 

Я искал код SWRevealViewController и не нашел ничего, что было бы связано с ним. Я пробовал комментировать подозрительные разделы кода и просматривать результат. Я спрятал строку состояния. Ничего не тронуло.

Я попробовал несколько вещей ...

[frontViewController.navigationController setNavigationBarHidden:YES]; 
frontViewController.navigationController.navigationBar.frame = CGRectZero; 
[frontViewController.navigationController.navigationBar setHidden:YES]; 

[revealController.navigationController setNavigationBarHidden:YES]; 
revealController.navigationController.navigationBar.frame = CGRectZero; 
[revealController.navigationController.navigationBar setHidden:YES]; 
[revealController.navigationController.navigationBar setBounds:CGRectZero]; 

... никакого эффекта.

ответ

0

Как ваш вид спереди является mainView вы будете использовать

[mainView.navigationController setNavigationBarHidden:YES]; 

Я надеюсь, что это помогает.

+0

Спасибо, Асан, но это уже было опубликовано выше. Хотя, если бы вы могли дать некоторое представление о том, почему это активирует бездействующую навигационную панель, я был бы признателен. – eadsjr

+0

Это потому, что у вас есть этот 'mainView' спереди, и поэтому' navigationBar' из 'navigationController' появляется так, что если вам нужно скрыть« navigationBar », вам придется скрыть его от' controller', который в самом начале и в вашем случае его 'mainView'. –

0

По завершении этого вопроса, я попробовал один последний тест.

[mainView.navigationController setNavigationBarHidden:YES]; 

Это сработало. Казалось бы, что-то в процессе внедрения mainView в SWRevealViewController привело к тому, что панель навигации в mainView стала видимой, хотя по умолчанию это не так.

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