##DAY7 UINavigationController
#pragma mark ———————UINavigationController———————————
概括:
导航视图控制器也是一个视图控制器,TA管理了多个视图控制器,是系统提供给我们的容器视图控制器
导航视图控制器至少管理一个子视图控制器,这个视图控制器称为导航视图控制器的根视图控制器
如果我们的程序想要采用导航视图控制器进行布局,我们需要指定window的根视图控制器为导航视图控制器
初始化:
initWithRootViewController:
#pragma mark ———————navigationItem———————————
每一个加到导航视图控制器内部的视图控制器自带一个属性叫navigationItem
TA可以配置当前页面导航条的显示内容,比如左、右按钮,标题等。
navigationItem属性的子属性:
title
leftBarButtonItem
leftBarButtonItems
titleView
#pragma mark ———————UIBarButtonItem———————————
创建UIBarButtonItem类,设置为navigationItem的leftBarButtonItem(s)或rightBarButtonItem(s):
initWithTitle:style:target:action: 显示标题
initWithBarButtonSystemItem:target:action: 使用系统自带的图标样式
initWithImage:style:target:action: 使用自定义图标样式
注意:这里的图片会受UIBarButtonItem的影响,要添加图片原生渲染
initWithCustomView: 使用自定义视图
#pragma mark ———————navigationController———————————
navigationController属性的子属性:
viewControllers
navigationBarHidden 设置导航栏的隐藏属性,不使用导航条,但是使用导航条的递进关系等
navigationBar
navigationController属性的方法:
pushViewController:animated: 执行入栈操作,引用计数+1 second覆盖到root上面
popToViewController:animated: 创建一个新的视图控制器是不合适的,导航视图控制器是栈,root还是存在于最下面的
navigationController的模态的过渡风格属性:
modalTransitionStyle
navigationController的模态的方法:
presentViewController:animated:completion:
dismissViewControllerAnimated:completion:
#pragma mark ———————navigationBar———————————
navigationBar属性的子属性:
barStyle 设置导航栏样式
backgroundColor 设置导航条的背景颜色
barTintColor 设置导航栏颜色
tintColor 设置导航栏元素颜色
translucent 设置导航栏的默认效果,默认YES,如果为YES,屏幕左上角为坐标原点;
如果为NO,导航栏上的子视图的坐标原点为 导航栏左下角