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