Где я могу изменить высоту панели навигации для приложения iPhone? - PullRequest
0 голосов
/ 14 марта 2010

В моем приложении DidFinishLaunching я установил UINavigationController:

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    navController = [[UINavigationController alloc] init];
    [[navController navigationBar] setFrame:CGRectMake(0.0,0.0,320.0,20.0)];
...
}

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

Кроме того, кто-нибудь знает высоту панели навигации по умолчанию?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 14 марта 2010

Высота панели навигации по умолчанию - 44 пикселя.

Я не уверен, что вы должны пытаться изменить размер панели навигации, документация определенно не одобряет это:

При использовании вместе с навигационный контроллер, есть только горстка прямых настроек вы можно сделать до панели навигации. В частности, это нормально, чтобы изменить barStyle, tintColor и полупрозрачные свойства этого класса, но вы никогда не должны напрямую менять Свойства уровня UIView, такие как рамка, границы, альфа или скрытый свойства напрямую.

В зависимости от того, что вы пытаетесь сделать, может быть проще разместить новый UIView над / под панелью навигации.

3 голосов
/ 14 марта 2010

Высота по умолчанию составляет 44 пикселя для панели навигации. Если вы хотите изменить его, попробуйте добавить категорию в UINavigationBar и переопределить setFrame: метод.

...