在我的applicationDidFinishLaunching中我设置了一个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,设置navigationBar高度应该是正确的......对吗?
此外,任何人都知道navigationBar的默认高度?
谢谢!
答案 0 :(得分:5)
导航栏的默认高度为44px。
我不确定您是否应该尝试直接调整导航栏的大小,文档肯定不鼓励它:
与a一起使用时 导航控制器,只有 一些直接定制你 可以进入导航栏。 具体来说,修改是可以的 barStyle,tintColor和 这个类的半透明属性, 但你绝不能直接改变 UIView级别的属性如 框架,边界,alpha或隐藏 物业直接。
根据您的尝试,可能更容易在导航栏上方/下方放置新的UIView。
答案 1 :(得分:3)
导航栏的默认高度为44像素。 如果要更改它,请尝试向UINavigationBar添加类别并覆盖setFrame:method。