UITabBarController 标签栏控制器
接上篇导航控制器UINavigationController
接下来是UITabBarController 标签栏控制器
先来看一下UITabBarController的结构
从图上可以看出控制器分为两部分,一部分是用户自定义内容Customcontent
另一部分为标签栏Tab bar.
另外看途中标签栏内有四个标签,每一个标签都控制着一个视图控制器
一、UITabBarController遵守的协议
@property(nonatomic,assign)
id<UITabBarControllerDelegate>delegate
创建初始化类后会自动生成一个委托对象,用于调动自身
二、 实例方法
- (void)setViewControllers:(NSArray*)viewControllersanimated:(BOOL)animated
设置标签栏中的内容,可以看到参数是一个由视图控制器组成的数组,设置成功后数组中的第一个元素会在标签栏中最左端的位置上,第二个元素就紧挨这第一个元素右边,以此类推。
有一点是当你的标签栏中原本已经存在一些元素,在使用这个方法时,标签栏中的元素全部都要移除,然后加载新元素。
三、标签栏的一些特点
1、标签栏默认的只能最多有五个标签,当你设置的元素超过五个,这时前四个标签还是按顺序排列,但是第五个标签会变成“…”这样一个按钮,这个按钮包含这你剩下的元素
2、另外看下面一段话
You can use navigation controllers or custom view controllersas the root view controller for a tab. If the root view controller is a navigationcontroller, the tab bar controller makes further adjustments to the size of thedisplayed navigation content so that it does not overlap the tab bar.
意思就是你也可以用导航控制器作为标签栏的一个标签,便签栏会为导航控制器创造足够的空间来展示控制视图。
写给自己,如有错误请指正,共同学习。—— LC
UITabBarController 标签栏控制器的更多相关文章
- iOS:切换视图的第三种方式:UITabBarController标签栏控制器
UITabBarController:标签栏控制器 •通过设置viewControllers属性或者addChildViewController方法可以添加子控制器 –NSArray *viewCon ...
- 标签栏控制器(UITabBarController)
一.标签栏控制器基础 1.绪论 a.一个标签栏是一个独立的界面对象,它经常与一个视图控制器(UITabBarController是UIViewController的子类)一起使用. b.一个标签栏项目 ...
- 导航栏控制器和标签栏控制器(UINavigationController和UITabBarController)混用
很多时候,在UI设计方面同时需要使用导航控制器和标签栏控制器,这时,需要掌握如何设计结合使用这两种不同控制器.比如手机QQ,程序有三个标签 栏(分别为消息.联系人.动态),同时在选择某个联系人或者会话 ...
- iOS:给标签栏控制器的UITabbarItem添加点击动效
一.介绍 现在很多app,附带很炫的点击效果,让用户享受到非常棒的体验,例如动画.渐变.音效等. 当然,市面上大多数app的标签栏点击还是挺中规中矩的,只是切换图片而已.然而,这个是可以优化的,附带点 ...
- 项目架构(结构)搭建:主流结构(UITabBarController + 导航控制器)
/* 项目架构(结构)搭建:主流结构(UITabBarController + 导航控制器) -> 项目开发方式 1.storyboard 2.纯代码 */ @interface AppDele ...
- iOS结合导航控制器和标签栏控制器
<span style="font-family: Arial, Helvetica, sans-serif;"></span><pre name=& ...
- 【iOS发展-28】制造业UITabBarController标记控制器、定制UITabBarItem文字图像6途径和More评论
一个.一个简单的制作过程(实际工程中不建议这样的方式,不要只展示所用原理的理解) 在AppDelegate.m在: - (BOOL)application:(UIApplication *)appli ...
- Swift之UITabBarController 导航控制器颜色的改变
废话不多 直接上代码 self.window = UIWindow(frame: UIScreen.mainScreen().bounds) self.window!.backgroundColor ...
- iOS 7 标签栏控制器进行模态视图跳转后变成透明
要解决此问题,需要设置tabBar的如下属性: self.tabBar.translucent = NO;
随机推荐
- HTML总结1
1.html基本结构 <html> <head> <title>我的第一个网页</title> </head> <body ...
- Core Python Notes
开发需要在读 Python 核心编程,一些 Point 记录如下. ******************************************** 版本相关 标准版的 Python 是用 C ...
- Android比较实用的属性
ImageView //设置图片填充整个背景 android:scaleType="fitXY"
- dedecms 使noflag参数及其过滤多个属性的修改方法
noflag='h' 是代表不包含头条属性的意思,其中flag就是属性, 自定义属性值:头条[h]推荐[c]图片[p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]. noflag过滤多个属性的修 ...
- Android onConfigurationChanged(Configuration cfg) 无法触发问题
1.android:configChanges="orientation|keyboardHidden"的使用 当在activity加上android:configChange ...
- 数据类型的转换String
x.toString(): 无法转换null和undefined 不过String()却是万能的,其中的原理如下 function String(x){ if(x===undefined){ retu ...
- HTTP 状态响应码 意思详解/大全
HTTP 状态响应码 意思详解/大全 转:http://blog.csdn.net/helin916012530/article/details/29842595 HTTP状态码(HTTP Statu ...
- 50个jQuery代码段帮你成为更好的JavaScript开发者
1. 如何创建嵌套的过滤器: 允许你减少集合中的匹配元素的过滤器,只剩下那些与给定的选择器匹配的部分.在这种情况下,查询删除了任何没(:not)有(:has)包含class为“selected”(.s ...
- javascript写的ajax请求
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...
- JS 操作Dom节点之CURD
许多优秀的Javascript库,已经封装好了丰富的Dom操作函数,这可以加快项目开发效率.但是对于非常注重网页性能的项目来说,使用Dom的原生操作方法还是必要的. 1. 查找节点 document. ...