2015-04-19 5 views
0

Я звоню UIViewController, нажав на UITabBarController. Когда я пытаюсь получить высоту навигационного бара в viewDidLoad методе UIViewController «s, как показано ниже:Получение высоты навигационной панели

self.navigationController.navigationBar.frame.origin.y 
self.navigationController.navigationBar.frame.size.height 

обе эти строки возвращают нулевое значение. Как я могу получить высоту навигационной панели?

+0

что такое контроллер корневого представления? Панель вкладок или панель навигации? –

+0

tab bar controller – zontragon

+0

Is self.navigationController! = Nil в вашем представленииDidLoad? – Krivoblotsky

ответ

0

Убедитесь, что вы не пропустили какой-либо из следующих строк кода

MyViewController *myViewController = [[MyViewController alloc] init]; 
UINavigationController *myNavigationController = [[UINavigationController alloc] initWithRootViewController:myViewController]; 

self.window.rootViewController = myNavigationController; 
-1

Обратите внимание, что она ведет себя по-другому, если вы установили:

navigationBar.translucent = NO; 

More here

+0

Это не отвечает на вопрос - это должен быть комментарий к исходному вопросу. –

+0

Вы должны были ждать еще пару лет, чтобы сказать мне, что – RealNmae

0

Попробуйте это .. .

CGFloat navigationBarHeight = self.navigationController.navigationBar.bounds.size.height; 
Смежные вопросы