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;
随机推荐
- 关于<:if>没有<c:else>解决方案
<c:if>没有<c:else>可以用<c:choose>来取代结构: <c:choose> <c:when test=""& ...
- eclise -The method onClick(View) of type new View.OnClickListener(){} must override a superclass method
在做arcgis android开发的时候,突然遇到这种错误,The method onClick(View) of type new View.OnClickListener(){} must ov ...
- TSQL Challenge 2
和之前发布的TSQL Challenge 1是同一系列的文章,看到那篇学习哪篇,没有固定的顺序,只为锻炼下思维. Compare rows in the same table and group th ...
- ajax调试兼容性
<script type="text/javascript"> if(typeof ActiveXObject!= 'undefined'){ var x = new ...
- php中session的运行机制
在PHP中session默认是以文件的形式存储于服务器的 而客户端和服务端则是通过session_id来完成握手的,默认情况下PHP会将session_id存储于cookie中,用户每次请求时该ses ...
- 用jquery修改默认的单选框radio或者复选框checkbox选择框样式
默认的radio和checkbox选框很难看.我去看了一下qq注册的页面.发现单选和复选框并没有用<input>,居然是用是A标签.然后用css背景图片展示选择框,用JavaScript控 ...
- 7 Reverse Integer(数字反转Easy)
题目意思:int数字反转 考虑:越界问题 class Solution { public: int reverse(int x) { ; while(x){ ans=ans*+x%; x=x/; } ...
- Extjs之rowEditing编辑状态时列不对齐
Extjs在使用rowEditing的时候,会在每一列加上editor属性,表示当处于编辑状态时这一列的值是什么类型的,后突然发现在rowEditing处于编辑状态时每一列的宽度边框了,如果列数非常多 ...
- PHP导出MySQL数据到Excel文件
PHP导出MySQL数据到Excel文件 转载 常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存 ...
- 个人Python常用Package及其安装
为了避免每次重装系统时又要东翻西找,现在此记录一下目前常用的Python包安装过程. 1) Python: 2.7.11, 下载地址:www.python.org.由于个人喜欢使用PyQt4(其实是不 ...