2010-03-13 18 views
0

在我的applicationDidFinishLaunching我成立了一个UINavigationController:我在哪里更改iPhone应用程序的导航条的高度?

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

正如你所看到的,我试图让导航控制器的高度为20px。但是,这不起作用。我会想象setFrame必须是正确的功能,但我不是在正确的地方调用它。我意识到SO上的其他问题与我的类似,但我认为设置navigationBar高度应该可能,如果它响应setFrame ...对吗?

此外,任何人都知道navigationBar的默认高度?

谢谢!

+0

把它放在viewWillAppear方法 – Raptor 2011-10-04 08:01:55

回答

3

导航栏的默认高度为44像素。 如果你想改变它,尝试添加一个类别到UINavigationBar并覆盖setFrame:方法。

5

导航栏的默认高度为44px。

我不知道,你应该尝试直接调整导航栏,文档一定阻碍它:

当与一个 导航控制器使用,只有 直接定制了一把你可以使 导航栏。 具体而言,它是好的修改 的barStyle,tintColor,和这个类, 的 半透明属性但必须从未直接直接改变 的UIView级属性,如 帧,边界,α或隐藏 性质。

根据你要做的事情,在导航栏上/下面放置一个新的UIView可能会更容易。

+0

如果我的最终目标是使导航栏的高度为20px,那么我如何将导航控制器的内容视图向上移动20px? – Raptor 2011-10-04 08:00:38

+0

也许你必须创建自己的和自定义的容器导航控制器。 – Ricardo 2012-04-25 16:33:22

相关问题