iOS UINavgationController、 UINavigationBar、 UINavigationItem关系分析
一般导航控制器含有4个对象,UINavigationController、UINavigationBar、UIViewController、UINavigationItem。
1:UINavigationController
UINavigationController的父类是UIViewController(UIViewController,是所有控制器的基类),关系如下图所示:
UINavigationController是一个视图容器,以栈的形式管理者多个内容视图(UIViewController)的换入(压入)和换出(弹出),自身提供视图切换的动
画效果。
2:UINavigationBar
UINavigationBar 的父类是UIView
NavigaitonBar就是导航栏,位于屏幕的上方,管理整个NavigationController的navigationItem,即类似navigationcontroller一样提供了一个栈来管
理item。
3:UINavigationItem
UINavigationItem的父类是NSObject
它包含了当前页面导航栏上需要显示的全部信息:title,prompt,titleView,leftBarButtonItem,,rightBarButtonItem,backBarButonItem。
注意:UINavigationController中会有很多个UIViewController,每个UIViewController都会对应一个自己的UINavigationItem,用来展现
UIViewController之间的不同之处。所以我们设置每个页面标题的时候,就必须用self.navigationItem.title这个属性。