84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
如题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