iOS 导航控制器、导航条、导航项、控制器的关系

本文介绍了iOS应用中常见的导航结构,包括UINavigationController、UINavigationBar、UINavigationItem和UIViewController之间的关系及作用,帮助开发者理解如何组织和管理应用界面的层级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常见的APP的页面结构,分为两个横向和纵向两个维度,最为经典的就是横向维度采用UITabBarController,纵向维度采用UINavigationController。当然,横向维度还可以使用UIToolBar工具条或自定义等。


当iOS应用需要具有纵向的层次化的结构的时候,采用导航控制器UINavigationController比较合适,这样用户可以从上一层界面进入下一层界面,当用户在新进入的下一层页面操作完之后,又可以方便地返回到下一层界面。UINavigationController是一个控制器,用户的交互行为则主要依靠导航条UINavigationBar完成。

重点:UINavigationController、UINavigationBar、UINavigationItem、UIViewController四个类的对象的关系

一般导航控制器含有4个对象,UINavigationController、UINavigationBar、UIViewController、UINavigationItem;NavigationItem存放在UINavigationBar上。由下图我们可以知道一个导航控制器控制着多个视图,一个视图控制器控制一个UINavigationItem。


UINavigationController:容器使用栈的形式存储和管理多个UIViewController,每一个UIViewcontroller就是一个层级页面,导航控制器每次只显示其存储的位于最上面的UIViewcontroller;

UINavigationBar:容器,位于屏幕顶端的控件,与UINavigationController一对一对应,它继承UIView,使用栈的形式存储和管理多个UINavigationItem,导航条上每次只显示其存储的位于最上面的UINavigationItem;

UINavigationItem:容器,由标题,左边N个按钮,右边N个按钮三部分组成,标题是一个位于导航条中间的UIView,每个按钮都是一个UIBarButtonItem控件;

UIViewController:控制器,管理显示视图和模型,被存储在UINavigationController中,与UINavigationItem一对一对应。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值