iOS开发基础学习笔记——导航控制器2->导航栏(UINavigationBar)/工具栏(toolBar)/导航元素按钮(UINavigationItem)

一、导航控制器->导航栏

官网文档:UINavigationBarClass Reference

1、 UINavigationBar继承于UIView,导航控制器的样式由导航栏决定(可自定义)

2、 对于导航栏上的按钮,相当于存放在栈中。

3、 UINavigationBar自身的外观属性:如背景颜色,文字颜色、BarStyle、背景图片等等,所有子控制器都会使用的公共样式。当然,在各个子控制器中,也可以修改NavigationBar的样式。

4、 可以设置导航栏的中间标题。

5、 UINavigationBar上的UINavigationItem:NavigationBar上的按钮都是UINavigationItem对象,先有bar再有Item

6、 同一个导航控制器对象,只有一个导航栏对象,但是可以在不同的视图控制器类获取到导航控制器.navigationBar 来改变不同控制器的相应的导航栏,但是,改变了Bar,代表该导航控制器的唯一导航栏改变了(所以一般不建议更改)

7、 UINavigationBarDelegate协议

只有四个方法如下,都是自动调用:

iOS开发基础学习笔记——导航控制器2->导航栏(UINavigationBar)/工具栏(toolBar)/导航元素按钮(UINavigationItem)_第1张图片

二、导航栏->工具栏(ToolBar)

1、        通常情况,工具栏被导航控制器设置来隐藏了

2、        toolbar都是显示在底部的,比如新闻类app下面的工具栏

3、        工具栏使用的按钮是UIBarButtonItem类型,但是与导航栏不同的是,部分左右按钮,大部分使用苹果公司定义好的

4、        如果需要,也是在各自的控制器配置。

具体性质见宏创学院»UINavigationController介绍:8-toolbar(工具栏)


三、       导航栏中的导航按钮元素(UINavigationItem

官方文档:UINavigationItemClass Reference

1、 UINavigationItem主要为导航栏上显示的按钮以及标题,一般来说,每个子控制器需要显示的标题以及按钮都不同,因此,苹果官方建议对于每个子控制器需要显示的导航栏标题和按钮,都建议在各自的子控制器中定制

2、 【注意】在视图控制器中使用UINavigationItem时,是直接使用self.navigationItem 而不是通过获取导航控制器之后再点navigationItem(因为导航控制器继承于UIView,UIView里自带navigationItem)是没有作用的

3、 UINavigationItem主要类性质和方法如下截图;

iOS开发基础学习笔记——导航控制器2->导航栏(UINavigationBar)/工具栏(toolBar)/导航元素按钮(UINavigationItem)_第2张图片


其中的leftItemSupplementBackButton方法(布尔值)作用是:选择true,返回按钮和新添加的左按钮一起显示,否则只显示新加按钮。

iOS开发基础学习笔记——导航控制器2->导航栏(UINavigationBar)/工具栏(toolBar)/导航元素按钮(UINavigationItem)_第3张图片

以上模块可以添加按钮(类型为UIBarButtonItem

学习内容源于:宏创学院 » UINavigationController介绍:3-UINavigationBar



你可能感兴趣的:(iOS开发基础学习笔记——导航控制器2->导航栏(UINavigationBar)/工具栏(toolBar)/导航元素按钮(UINavigationItem))