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;
UINavigationbar/UINavigationItem/UITabBar/UITabButton/UITabBarItem粑粑粑粑~的更多相关文章
- iOS 开发 中级:UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem自定义方法总结
原文: http://blog.csdn.net/songrotek/article/details/8692866?utm_source=tuicool 对于UIToolbar,UINavigat ...
- 一张图理解UINavigationBar,UINavigationItem,UIBarButtonItem,UITabBar,UITabBarItem,UITabBarButton
- iOS - UIKit
1.UIKit 框架基本结构 1)控件 屏幕上的所有 UI 元素都叫做控件(也有叫做视图.组件),比如按钮(UIButton).文本(UILabel)都是控件. 为了便于开发者打造各式各样的优秀 Ap ...
- iOS-学习UIKIt框架的重要性
前言: 众所周知,我们的移动设备的屏幕上可以展示很多图形界面,作为用户的我们可以通过屏幕上的图形界面浏览信息,也可以通过与图形界面的简单交互,在移动设备上实现各种各样的功能操作.....可以说,没 ...
- iOS: 状态栏、导航栏、标签栏、工具栏
三种项目栏总结: 工具栏:UIToolBar 导航栏:UINavigationBar 标签栏:UITabBar UIToolBar的按钮单元为:UIBarButtonItem UINavigati ...
- iOS-夜间模式(换肤设置)
概述 iOS 开发中有时候会有夜间模式(换肤设置)的需求, 主要是更改相关颜色操作每次切换夜间/白天模式时,都会发出通知给所有ViewController,让它们切换到相应的主题. 详细 代码下载:h ...
- iOS-常用的第三方框架的介绍
写iOS 程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上. GitHub 里面有大量优秀的第三方框架,而且 License 对商业很友好.一下摘录一下几乎每 ...
- 你真的了解UINavigationController吗?
一:首先查看一下关于UINavigationController的定义 NS_CLASS_AVAILABLE_IOS(2_0) @interface UINavigationController : ...
- iOS 视图控制器转场详解
iOS 视图控制器转场详解 前言的前言 唐巧前辈在微信公众号「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各项指标有了大幅度的增长,多谢唐巧前辈的推荐.有些人问我相关的问题 ...
随机推荐
- Zabbix监控服务器异常IP登录
保存下面的脚本到任意路径 名字.py 修改属组和权限: chown zabbix:zabbix * chmod 755 * 演示的路径为:/usr/local/zabbix/scripts/ # -* ...
- ZOJ 3820:Building Fire Stations(树的直径 Grade C)
题意: n个点的树,边长全为1,求找出两个点,使得树上离这两个点距离最远的那个点,到这两个点(中某个点就行)的距离最小. 思路: 求树直径,找中点,删除中间那条边(如果直径上点数为奇数,则删任何一侧都 ...
- ASPOSE.WORD 另存为HTML
var fi = new FileInfo(Environment.CurrentDirectory + "\\AE9302C0-AE48-4F4B-8489-6A428D9163C9_AL ...
- js 抽奖小案例
Luck Draw 在线演示:九宫格抽奖 对九宫格形式的抽奖页面进行了一些简单封装.以后有机会再更新其他形式的抽奖.
- (1)安装Xamarin
()一.安装 1.安装xamarin 2.下载jdk8 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads- ...
- (2)OLEDB数据库操作
1.首先要引入 System.Data.OracleClient.dll 2.引入命名空间 using System.Data.OleDb; OleDb类 https://msdn.microsof ...
- 实现微信朋友圈点击评论按钮时cell上移
实现场景:微信朋友圈TableView(BigTableView)的每一行cell都包含一个SmallTableView(显示所有点赞及评论) 实现思路: //BigTableView的content ...
- thinkphp Auth认证类 比RBAC更好的权限认证方式(Auth类认证)
thinkphp Auth认证类 比RBAC更好的权限认证方式(Auth类认证) Auth 类已经在ThinkPHP代码仓库中存在很久了,但是因为一直没有出过它的教程, 很少人知道它, 它其实比 ...
- 【Linux】CentOS7上安装搜狗输入法
找到一篇资料,提供安装搜狗输入法的方法,在http://www.cnblogs.com/Yiutto/p/6204085.html[也是本文的参考原地址] 请大家自行下载fcitx.tar.gz 1. ...
- react with JSX for {if…else…}
在react中用jsx渲染dom的时候经常会遇到if条件判断,然而在jsx中竟是不允许if条件判断的.以下有几种判断方式,可以根据自己的应用场景,挑选适合的 https://blog.csdn.net ...