如题iOS 中navigationbar的高度可以修改吗?
光阴似箭催人老,日月如移越少年。
答案是可以修改的。
修改前:
修改后:
你新建一个工程,将UIWindow的rootViewController设置为一个UINavigationController的实列,然后自定义一个控制器CustomVC,在CustomVC中写如下代码:
- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; NSLog(@"修改前"); [self printViewHierarchy:self.navigationController.navigationBar]; //修改NavigaionBar的高度 self.navigationController.navigationBar.frame = CGRectMake(0, 20, 320, 100); NSLog(@"\n修改后"); [self printViewHierarchy:self.navigationController.navigationBar]; } - (void)printViewHierarchy:(UIView *)superView { static uint level = 0; for(uint i = 0; i < level; i++){ printf("\t"); } const char *className = NSStringFromClass([superView class]).UTF8String; const char *frame = NSStringFromCGRect(superView.frame).UTF8String; printf("%s:%s\n", className, frame); ++level; for(UIView *view in superView.subviews){ [self printViewHierarchy:view]; } --level; }
输出结果:
UINavigationBar:{{0, 20}, {320, 44}} _UINavigationBarBackground:{{0, 0}, {320, 44}} UIImageView:{{0, 44}, {320, 3}} UINavigationItemView:{{160, 22}, {0, 0}} 2013-10-29 20:24:36.900 Nav[8957:907] 修改后 UINavigationBar:{{0, 20}, {320, 100}} _UINavigationBarBackground:{{0, 0}, {320, 100}} UIImageView:{{0, 100}, {320, 3}} UINavigationItemView:{{160, 22}, {0, 0}}
可以看到UINaigationBar的高度已经从44变到了100. 如果还有疑问,请追问。没有的话,请采纳,谢谢!
为什么我的不改变,我使用的是 ios9 xcode7
答案是可以修改的。
修改前:
![](http://img.php.cn/upload/image/000/000/000/7247a964dad9b42cf7847085f147d1d5-0.jpg)
修改后:
![](http://img.php.cn/upload/image/000/000/000/7247a964dad9b42cf7847085f147d1d5-1.jpg)
你新建一个工程,将UIWindow的rootViewController设置为一个UINavigationController的实列,然后自定义一个控制器CustomVC,在CustomVC中写如下代码:
输出结果:
可以看到UINaigationBar的高度已经从44变到了100. 如果还有疑问,请追问。没有的话,请采纳,谢谢!
为什么我的不改变,我使用的是 ios9 xcode7