IOS开发学习笔记——Navigation学习

来源:互联网 发布:相片特效软件 编辑:程序博客网 时间:2024/05/15 23:44

    将ios开发中navigation开发的基本内容小结如下:


     一、navigationController层次关系

            首先需要知道对于每一个app来说都有一个window,而每个window都有一个rootViewController,一切的UI都从这个rootViewController开始,结构图如下所示:



    当APP要展示页面时,先找rootViewController,而此时跟视图控制器为navigationController,对于navigationController来说,要显示则会找栈顶的ViewController,找到这个视图控制器后,会展示与其绑定的UIView。


    二、如何定制navigation

    navigation整体来说主要分三部分:navigationBar,viewcontroller(将UIView和ViewController视为一体),navigationtoolbar

    其中navigationItem和toolbar即为上边条和下边条,一下为叙述方便简称“二条”;

    需要说明一个重要的层次概念:

    二条属于导航控制器,即navigationBar和navigatintoolbar的控制归navigationController,比如是否隐藏二条的显示;

   但是由于导航控制器可以进行ViewController的切换,而每个ViewController可能会有自己定制的二条的内容,即在navigationItem和toolbar中显示什么内容由每个viewController来决定以及定制。

    简单来说,设置全局的navigationItem和toolbar的属性,由navigationControll对象来设置;而具体到每个viewController如何显示navigationItem和toolbar由其中的viewController对象来设置,示意图如下所示:




    说明:

    (1)对于navigationItem的创建步骤:即先创建各个UIBarButtonItem以及UIView,再将相应的对象赋值给viewControllor.navigationItem的成员变量中; 

    (2) 对于toolbar的创建步骤:首先创建UIBarButtonItem的序列item1,item2,item3…,并将其所有加入NSArray *items中,再将数组items赋值给viewController成员toolbarItems,即viewController.toolbarItems = items;

    (3)由于UIBarButtonItem可以通过UIView进行创建,因此可以进行很好的定制化。

0 0
原创粉丝点击