UINavigationControl、界面通信

UINavigationControl (导航控制器)
导航控制器可以认为是管理控制器的控制器,主要管理有层级关系的 控制器。

UINavigationController继承于UIViewController, 以栈的⽅式管理所 控制的视图控制器,⾄少要有⼀个被管理的视图控制器,这个控制器 我们称作, 导航控制器的根视图控制器。

⼯作原理:
UINavigationController通过栈的⽅式管理控制器的切换, 控制⼊栈和出栈 来展⽰各个视图控制器。
UINavigationController的ContentView⾥始终显⽰栈顶控制器的view。
viewControllers属性存储了栈中的所有被管理的控制器
navigationController属性,⽗类中的属性,每个在栈中的控制器,都能通 过此属性,获取⾃⼰所在的UINavigationController对象。

⼊栈和出栈
pushViewController:animated //进⼊下⼀个视图控制器
popViewControllerAnimated: //返回上⼀个视图控制器
popToViewController:animated //返回到指定的视图控制器 popToRootViewControllerAnimated //返回到根视图控制器

常⽤属性:
viewControllers //所有处于栈中的控制器
topViewController //位于栈顶的控制器
visibleViewController //当前正在显⽰的控制器
navigationBar //导航条

UINavigationBar
navigationBar在透明情况,与contentView会重合⼀部分区域。
navigationBar在不透明情况,contentView跟在navigationBar的下⾯。
navigationBar竖屏下默认⾼度44,横屏下默认⾼度32

属性:
barTintColor //设置导航条的颜⾊
setBackgroundImage:forBarMetrics: //导航条加背景图⽚


UINavigationItem
UINavigationBar除了能定义⾃⾝的样式外,还管理⼀组 UINavigationItem。
与UINavigationController相似,UINavigationBar也是以栈的⽅式管 理⼀组UINavigationItem。提供push和pop操作item。
每个视图控制器都有⼀个navigationItem属性。navigationItem中设 置的左按钮、右按钮、标题等,会随着控制器的显⽰,也显⽰到 navigationBar上

属性 :
UINavigationItem属于MVC中的M。封装了要显⽰在UINavigationBar上 的数据。
title //标题
titleView //标题视图 l
eftBarButtonItem //左按钮
rightBarButtonItem //右按钮
-initWithBarButtonSystemItem:target:action:
-initWithTitle:style:target:action:
-initWithImage:style:target:action:
tintColor

界面传值
使⽤属性传值解决从前往后传值的问题
使⽤delegate解决从后往前传值的问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值