温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

NavigationController导航控制器

发布时间:2020-07-01 11:07:36 来源:网络 阅读:496 作者:jna_114 栏目:开发技术

NavigationController导航控制器

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

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

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

  4. 4.    UIImage *img = [UIImagep_w_picpathNamed:@"navbar_bg_normal"];

  5. 5.    //修改图片的大小

  6. 6.  第一步:begin  UIGraphicsBeginImageContext(CGSizeMake(width, 64));

  7. 7.   第二步: draw

 [img drawInRect:CGRectMake(0, 0, width, 64)];

  1. 8.  第三步: Get

UIGraphicsGetCurrentContext();

  1. 9.  第四步: End

UIGraphicsEndImageContext();

10://设置导航栏的字体的大小和颜色

    self.navigationController.navigationBar.titleTextAttributes = @{NSFontAttributeName:[UIFontboldSystemFontOfSize:20],NSForegroundColorAttributeName:[UIColorredColor]};//快速创建字典形式

}

  1. 设置全局背景图片一样-----à用父类继承

  2. 设置全局的导航栏和导航栏上字体的大小和属性

//设置项目全局的导航栏的背景颜色

//注意:所有带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;

  1. 12. 导航栏在点击时隐藏,再次点击出现

  2. 13. - (void)btnClick:(UIButton *)btn

{

  1. 14.     [self.navigationControllersetNavigationBarHidden:!self.navigationController.navigationBarHiddenanimated:true];

  2. 15.     

  3. 16.     //隐藏/显示状态栏

  4. 17.     [[UIApplicationsharedApplication] setStatusBarHidden:self.navigationController.navigationBarHiddenwithAnimation:UIStatusBarAnimationFade];

  5. 18.  

  6. 19. }

  7. 20.  

  8. 21. - (void)viewWillDisappear:(BOOL)animated

  9. 22. {

  10. 23.     [superviewWillDisappear:animated];

  11. 24.     self.navigationController.navigationBar.translucent = NO;


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI