NavigationController导航控制器

导航栏高度:44+20(电池条)=66,在IOS7之前self.view的坐标是从(0,64)开始的,在IOS7之后,导航栏全部透明,仍旧从(0,0)开始

一个导航控制器只有一个导航栏,一个导航栏有多个导航项

3.//设置导航栏背景图片

4.UIImage *img = [UIImagep_w_picpathNamed:@"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;