UINavigationbar/UINavigationItem/UITabBar/UITabButton/UITabBarItem粑粑粑粑~

看着标题是不是乱的一塌糊涂。。。。。。

在开发中,你非常可能就理不清这些关系,刚好闲的蛋疼,来整理一下吧。

一、UINavigationBar、UINavigationItem、UIBarButtoItem

UINavigationBar是一个控件。 表示UINavigationController(导航控制器)顶部那个玩意儿。UINavigationBar上面显示什么内容,全然由UINavigationItem属性决定。

UINavigationItem是一个模型(不是控件), 它能够设置UINavigationBar中间那部分的内容;

获得方式:

self.navigationItem // self是指控制器

为UINavigationBar设置导航栏内容的方式:

// 设置导航栏中间的内容
self.navigationItem.title
self.navigationItem.titleView

UINavigationBar是view,UINavitgationItem是model;由self.navigationItem(UINavigationItem)给UINavigationBar提供内容数据。

UIBarButtonItem 是一个数据类型。我们在设置导航控制器内容的时候,左右两边相同须要设置,他们各自是:

// 设置导航栏左上角的内容
self.navigationItem.leftBarButtonItem
// 设置导航栏右上角的内容
self.navigationItem.rightBarButtonItem

这里的leftBarButtonItem、rightBarButtonItem的数据类型就是UIBarButtonItem,而这两个又是UINavigationItem的属性。能用点语法点出来也证明了这一点。

总结一点:设置导航控制器中间内容的就用: 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;

时间: 2024-10-15 21:50:55

UINavigationbar/UINavigationItem/UITabBar/UITabButton/UITabBarItem粑粑粑粑~的相关文章

iOS 开发 中级:UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem自定义方法总结

原文:  http://blog.csdn.net/songrotek/article/details/8692866?utm_source=tuicool 对于UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem这几种控件的自定义,因为具备共同性,因此放在一起讨论. 通常有两种方式来实现自定义. 1)获取控件的对象,然后对这个特定的对象进行特定的修改. 2)利用UIAppearance来实现对所有同类控件及特定同类的自定

iOS: 状态栏、导航栏、标签栏、工具栏

三种项目栏总结: 工具栏:UIToolBar 导航栏:UINavigationBar 标签栏:UITabBar UIToolBar的按钮单元为:UIBarButtonItem UINavigationBar的按钮单元为:UINavigationItem UITabBar的按钮单元为:UITabBarItem 共同属性和方法: @property(nonatomic,copy)   NSArray   *items;                    //按钮单元数组 - (void)setI

iOS-学习UIKIt框架的重要性

  前言: 众所周知,我们的移动设备的屏幕上可以展示很多图形界面,作为用户的我们可以通过屏幕上的图形界面浏览信息,也可以通过与图形界面的简单交互,在移动设备上实现各种各样的功能操作.....可以说,没有图形界面,普通用户基本上无法操作移动设备,可见移动设备的图形界面多么重要.它到底有多重要?可以用业界流行的一句话来描述:UIKit框架都学不好的开发者,就不要说自己是做移动开发的了!!! 关于UIKit框架的重要性,官网也做出了相关描述:  The UIKit framework provides

UI--Day01--学习要求

一.作业: 包括[课堂作业]和[日报] [课堂作业]:每天留的课后作业,提交到<我的代码库>,写不写完都要提交 [日报]:即每天总结.包括:当天课程学会了什么,不会什么.是否跟得上(例如:跟不上,勉强跟上,正好跟上,轻松跟上).复习内容的理解(对知识有哪些进一步的理解). [注]课堂作业分为:※每天必做.#明天讲解.&扩展作业 二.分组: 每组10人,组长1人,组员9人,每组建一个讨论组,将每天要交的日报交给组长 组长:负责学员日报整理,将所有学员日报按照名字:内容的形式,拷贝到一个文

中级控件

iOS 开发 中级:UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem自定义方法总结 分类: iOS 开发 中级2013-03-19 18:08 3468人阅读 评论(0) 收藏 举报 开发自定义 对于UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem这几种控件的自定义,因为具备共同性,因此放在一起讨论. 通常有两种方式来实现自定义. 1)获取控

【转】iOS开发常用的第三方类库

原文: http://blog.csdn.net/xiazailushang/article/details/9716043 在iOS开发中不可避免的会用到一些第三方类库,它们提供了很多实用的功能,使我们的开发变得更有效率:同时,也可以从它们的源代码中学习到很多有用的东西. Reachability 检测网络连接 用来检查网络连接是否可用:包括WIFI和WWAN(3G/EDGE/CDMA等)两种工作模式. 可以从Apple网站下载到:http://developer.apple.com/libr

IOS第三方框架集合

在iOS开发中不可避免的会用到一些第三方类库,它们提供了很多实用的功能,使我们的开发变得更有效率:同时,也可以从它们的源代码中学习到很多有用的东西. Reachability 检测网络连接 用来检查网络连接是否可用:包括WIFI和WWAN(3G/EDGE/CDMA等)两种工作模式. 现在有更好的替代品:https://github.com/tonymillion/Reachability,比Apple提供的兼容性更好,而且更加好用,更具体的使用方法请看它提供的例子. 1 Reachability

如何正确地写好一个界面

写界面可以说是每位移动应用开发者的基本功,也是一位合格移动应用开发者绕不过去的坎.但就如不是每一位开发者都能够成为合格的开发者一样,本人在 不同的团队中发现,甚少有人能够编写出合格的UI代码:而非常奇怪的是,在很多的开发者论坛上看到我们移动开发者更多关注于某个控件或者是动画,但却很少 看到深入剖析UI机制,指导UI开发的文章. 由于界面涉及到的方面实在过于广泛,本文不可能事无巨细,一一道来,所以本文先立足于点,深入剖析iOS UI系统中不被重视却非常重要的机制,帮助本文读者对iOS的UI系统有整

GitHub 里面有大量优秀的第三方框架

写iOS 程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上. GitHub 里面有大量优秀的第三方框架,而且 License 对商业很友好.一下摘录一下几乎每个项目都想集成的几个框架. SDWebImageView 1. Mantle Mantle 让我们能简化 Cocoa 和 Cocoa Touch 应用的 model 层.简单点说,程序中经常要进行网络请求,请求到得一般是 json 字符串,我们一般会建一个 Model 类来存放这些数据.这就要求我们