2013-10-15 2 views
0

Когда я создаю модальный вид с помощью контроллера навигации, я не могу установить стиль панели навигации непрозрачным. Я должен упомянуть, что я представляю модальный вид с другого навигационного контроллера. Вот код, я говорю:Стиль панели навигации в Modal View

UINavigationController *navController = [[UINavigationController alloc] 
             initWithRootViewController:detailedViewController]; 
[navController setModalPresentationStyle: UIModalPresentationFullScreen]; 
[navController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; 

//also tried [navController navigationBar] setOpaque:YES]; with no luck 
navController.navigationBar.barStyle = UIBarStyleBlackOpaque; 
[self presentViewController:navController animated:YES completion:nil]; 

Там должно быть что-то я пропускаю, и я мог видеть, так что любая помощь будет здорово !!

Заранее спасибо :)

+0

Вы проверили, что «навигационная панель навигации» навигатора не ноль? Поскольку «navigationBar» является частью представления навигационного контроллера, он не обязательно загружается при создании контроллера. –

+0

'UIBarStyleBlackOpaque' устарел, вы пробовали с' UIBarStyleBlack'? – Moxy

+0

@JonathanArbogast, нет, я не проверял создание NavigationBar, и я могу видеть вашу точку, но если я попытаюсь изменить стиль NavigationBar внутри нового контроллера представления, я имею в виду 'detailViewController', я получаю тот же результат. Тем не менее, я проверю это. Благодаря!!!! @Moxy, вы абсолютно правы! Я собираюсь изменить его прямо сейчас! – SantiFdezMunoz

ответ

1

Наконец-то я решил проблему. Это связано с тем фактом, что я использовал на самом деле два навигационных контроллера, а код, который я использовал на своем оригинале, использовал второй вложенный контроллер навигации.

На данный момент я предполагаю, что у меня есть два варианта: поддерживайте вложенное navController и настройте его правильно или, я выбираю, избавлюсь от второго navController, используйте главный и нажмите мой customView в первый navController ,

Спасибо всем вам за помощь!

1

navigationBar.translucent Набор для NO. Если это не работает для вас, обязательно звоните [navController loadViews], так как они могут не загружать их, пока вы их не представите.

+0

Спасибо Адаму, но я уже тестировал установку полупрозрачного NO. Другой вариант кажется довольно интересным, я проверю его и дам вам знать. Благодаря! – SantiFdezMunoz

+0

Обязательно вызовите его перед выполнением вызовов в диспетчере представлений, чтобы получить необходимый эффект. – AdamG

+0

@SantiFdezMunoz сделал эту работу? – AdamG

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