NavigationController导航控制器
导航栏高度:44+20(电池条)=66,在IOS7之前self.view的坐标是从(0,64)开始的,在IOS7之后,导航栏全部透明,仍旧从(0,0)开始
一个导航控制器只有一个导航栏,一个导航栏有多个导航项
3.//设置导航栏背景图片
4. UIImage *img = [UIImageimageNamed:@"navbar_bg_normal"];
5. //修改图片的大小
6. 第一步:begin UIGraphicsBeginImageContext(CGSizeMake(width, 64));
7. 第二步: draw
[img drawInRect:CGRectMake(0, 0, width, 64)];
8. 第三步: Get
UIGraphicsGetCurrentContext();
9. 第四步: End
UIGraphicsEndImageContext();
10://设置导航栏的字体的大小和颜色
self.navigationController.navigationBar.titleTextAttributes = @{NSFontAttributeName:[UIFontboldSystemFontOfSize:20],NSForegroundColorAttributeName:[UIColorredColor]};//快速创建字典形式
}
设置全局背景图片一样-----à用父类继承
设置全局的导航栏和导航栏上字体的大小和属性
//设置项目全局的导航栏的背景颜色
//注意:所有带UI_APPEARANCE_SELECTOR宏修饰的方法都可以全局设置
[[UINavigationBarappearance] setBackgroundImage:img forBarMetrics:UIBarMetricsDefault];
[[UINavigationBarappearance] setTitleTextAttributes:@{NSFontAttributeName: [UIFontboldSystemFontOfSize:16], NSForegroundColorAttributeName: [UIColorwhiteColor]}];
12. 设置状态栏的隐藏方法: //设置状态栏
//方法一:设置pilit文件中的Viewcontroller-based status bar appearance 设为NO
//通过全局application去修改
[[UIApplicationsharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
设置导航栏透明 self.navigationController.navigationBar.translucent = YES;
12. 导航栏在点击时隐藏,再次点击出现
13. - (void)btnClick:(UIButton *)btn
{
14. [self.navigationControllersetNavigationBarHidden:!self.navigationController.navigationBarHiddenanimated:true];
15.
16. //隐藏/显示状态栏
17. [[UIApplicationsharedApplication] setStatusBarHidden:self.navigationController.navigationBarHiddenwithAnimation:UIStatusBarAnimationFade];
18.
19. }
20.
21. - (void)viewWillDisappear:(BOOL)animated
22. {
23. [superviewWillDisappear:animated];
24. self.navigationController.navigationBar.translucent = NO;
本文出自 “UI中的控件的应用” 博客,请务必保留此出处http://10554206.blog.51cto.com/10544206/1683857
原文地址:http://10554206.blog.51cto.com/10544206/1683857