看着标题是不是乱的一塌糊涂。。。。。。。
在开发中,你很可能就理不清这些关系,刚好闲的蛋疼,来整理一下吧。
一、UINavigationBar、UINavigationItem、UIBarButtoItem
UINavigationBar是一个控件, 表示UINavigationController(导航控制器)顶部那个玩意儿,UINavigationBar上面显示什么内容,完全由UINavigationItem属性决定。
UINavigationItem是一个模型(不是控件), 它可以设置UINavigationBar中间那部分的内容;
获得方式:
self.navigationItem // self是指控制器
// 设置导航栏中间的内容 self.navigationItem.title self.navigationItem.titleViewUINavigationBar是view,UINavitgationItem是model;由self.navigationItem(UINavigationItem)给UINavigationBar提供内容数据。
UIBarButtonItem 是一个数据类型,我们在设置导航控制器内容的时候,左右两边同样需要设置,他们分别是:
// 设置导航栏左上角的内容 self.navigationItem.leftBarButtonItem // 设置导航栏右上角的内容 self.navigationItem.rightBarButtonItem
总结一点:设置导航控制器中间内容的就用: self.navigationItem.title/tileView = xxx;
左右两边内容就用: self.navigation.leftBarButtonItem/rightBarButtonItem = xxx;
---------------------------------------------------------------分割线-------------------------------------------------------------------------
二、UITabBar、UITabBarButton、UITabBarItem
UITabBar 是一个控件,代表的是UITabBarController的底部的选项卡条。
UITabBarButton是UITabBar底部的每一个标签,每一个UITabBarButton里面显示什么内容,取决于UITabBarItem,UITabBarButton本身是私有的,开发者无法获取到。底部选项卡为什么能够显示图片和文字,完全就是因为它。它的数据来自于UITabBarItem.
UITabBarItem 是一个 模型,
获得方式:
self.tabBarItem // self是指控制器
作用:可以用来设置当前控制器对应的选项卡标签的内容;
// 标签的标题 self.tabBarItem.title // 标签的图标 self.tabBarItem.image // 标签的选中图标 self.tabBarItem.selectdImage
总结一句话: UITabBarButton你获取不到,暂且可以不理它。为底部每个选项卡设置内容的时候,
就写: self.tabBarItem.title/image/selectedImage = xxx;
UINavigationbar/UINavigationItem/UITabBar/UITabButton/UITabBarItem粑粑粑粑~
原文:http://blog.csdn.net/u010590318/article/details/44278943