五.控件--导航控制器

来源:互联网 发布:百度慧眼数据 编辑:程序博客网 时间:2024/05/16 17:09

创建方法

控制器常见的创建方式有以下几种
* 通过storyboard创建
* 直接创建

  // 创建导航控制器的根控制器    ViewController *vc = [[ViewController alloc] init];    // 导航控制器也是需要有根控制器    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];    // 导航控制器会跟控制器的view添加到存放子控制器的view    // 导航控制器的根控制器,其实就是导航控制器的第一个子控制器    self.window.rootViewController = nav;
  • 只有导航控制器的子控制器才可以拿到导航控制器;
  • 一个控制器只能执行一次push或pop;

    控制器view的生命周期方法

    1. 常见的生命周期方法

这里写图片描述

  1. 需要注意的生命周期方法

这里写图片描述
注意:上述都是在 ARC 下
3.费ARC下的两个方法
这里写图片描述

  • 调用的时候:

    • 一般在didload中清空所有的不在需要的数据;

    UINavigationItem

    这里写图片描述

    1. 在iOS7 之后,系统会默认把图片渲染成蓝色;使用下列方法告诉系统不进行渲染:
image = [image imageWithRederingMode:UIImageRenderingModeAlwaysOrinal]; //使用原始图片(返回原始图片)  渲染模态

2.在设置自定义导航条的view的时候,如果view不显示则一般都是未设置大小(bounds);
这里写图片描述
一般都是按照上述方法设置自定义的Buttion.

设置技巧

  1. 在iOS7之后,苹果会自动给导航控制器里面的所有UIScrllerView的顶部都会添加额外的滚动区域(64)。取消添加使用下面的方法:
self.automaticallyAdjustsScrollViewInsets = NO;
  1. 设置导航条的背景属性:
[self.navigationController.navigationBar setBackgoundImage:[[UIImage alloc]init] forBarMetrics:UIBarMetricsDefault];//导航条阴影的设置[self.navigationController.navigationBar setShadowImage:[[UIImage alloc]init]]; 

UIBarMetricsDefault:只有设置这个后才可以设置导航条的背景属性

0 0
原创粉丝点击