UI控件之UITabBarController
UITabBarController:标签栏控制器,继承自UIViewController,用标签栏的形式管理视图控制器,各标签栏对应的视图控制器之间相互独立,互不影响,单击标签栏,显示标签栏对应的视图控制器,各视图控制器的生命周期与tabBarController的生命周期一致使各模块之间低耦合,易于团队开发,根据需要随时添加、删除模块
创建一个tabBarItem对象,创建时指定其标题,图片和选中时的图片
UITabBarItem *item3=[[UITabBarItem alloc]initWithTitle:@"vc3" image:[UIImage imageNamed:@"tab_2.png"] selectedImage:[UIImage imageNamed:@"tab_s.png"]];
采用系统自带的样式创建tabBarItem对象,设置tag值,一般不用,自己不能修改title
UITabBarItem *item4=[[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemBookmarks tag:4];
vc3.tabBarItem=item4;
tabBarController中可以管理任意UIViewController对象当tabBarController管理的视图控制器的个数多于5个时,会生成一个moreNavigationController对象,将第5个和第5个之后的项以列表的形式显示出来视图控制器在数组中的顺序与显示的顺序一致
NSArray *viewControllers=@[nav1,vc2,vc3,vc4,vc5,vc6];
创建UITabBarController对象
UITabBarController *tabBarController=[[UITabBarController alloc]init];
设置tabBarController管理的视图控制器对象(数组,任意UIViewController的对象都可以添加到数组中)
tabBarController.viewControllers=viewControllers;
设置选中的标签栏项的下标,默认显示的是第一个标签栏项对象的视图
tabBarController.selectedIndex=1;
设置选中的视图控制器对象
tabBarController.selectedViewController=viewControllers[2];
从userDefaults中取出上一次用户选择的视图控制器的标题
NSUserDefaults *userDefaults=[NSUserDefaults standardUserDefaults];
NSString *title=[userDefaults objectForKey:TITLEKEY];
NSArray *array=[userDefaults objectForKey:GROUPKEY];
设置tabBar的背景色
tabBarController.tabBar.barTintColor=[UIColor redColor];
设置tabBar上选中的item上的颜色
tabBarController.tabBar.tintColor=[UIColor greenColor];
tabBar的高度是49像素
不能修改tabBar上的item
UI控件之UITabBarController的更多相关文章
- ANDROID L——Material Design详解(UI控件)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...
- WinForm/Silverlight多线程编程中如何更新UI控件的值
单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么 ...
- 富客户端 wpf, Winform 多线程更新UI控件
前言 在富客户端的app中,如果在主线程中运行一些长时间的任务,那么应用程序的UI就不能正常相应.因为主线程要负责消息循环,相应鼠标等事件还有展现UI. 因此我们可以开启一个线程来格外处理需要长时间的 ...
- UI控件(复习一下)
如何修改控件状态• 可见,确实需要经常修改控件状态• 那如何去修改控件的状态呢?方法很简单➢ 每一个UI控件都是一个对象➢ 修改UI控件的状态,其实就是修改控件对象的属性➢ 比如修改UILabel显示 ...
- IOS学习资源收集--开发UI控件相关
收集的一些本人了解过的iOS开发UI控件相关的代码资源(本文持续补充更新) 内容大纲: 1.本人在github上也上传了我分装好的一些可重复利用的UI控件 2.计时相关的自定义UILabel控件 正文 ...
- 《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架
<深入理解Windows Phone 8.1 UI控件编程>本书基于最新的Windows Phone 8.1 Runtime SDK编写,全面深入地论述了最酷的UI编程技术:实现复杂炫酷的 ...
- AppleWatch___学习笔记(二)UI布局和UI控件
1.UI布局 直接开发,你会发现Apple Watch并不支持AutoLayout,WatchKit里有个类叫做WKInterfaceGroup,乍一看像是UIView,但是这货其实是用来布局的.从 ...
- (转).NET 4.5中使用Task.Run和Parallel.For()实现的C# Winform多线程任务及跨线程更新UI控件综合实例
http://2sharings.com/2014/net-4-5-task-run-parallel-for-winform-cross-multiple-threads-update-ui-dem ...
- Atitit. .net c# web 跟客户端winform 的ui控件结构比较
Atitit. .net c# web 跟客户端winform 的ui控件结构比较 .net 4.5 webform Winform 命名空间 System.Web.UI.WebControls ...
随机推荐
- 终端中管理SVN服务器 上传、下载、更新【原创】
从服务器下载项目, 下面的命令意思是 将服务器中mycode仓库的内容下载到/Users/apple/Documents/test目录中 我的电脑名叫做MacBook,记得将这个名字改成你们的电脑名字 ...
- STL next_permutation(a,a+n) 生成一个序列的全排列。满足可重集。
/** 题目: 链接: 题意: 思路: */ #include <iostream> #include <cstdio> #include <vector> #in ...
- es6中顶层对象属性≠全局属性
先思考一下下面代码的输出结果是什么 const a = { x:1, fn:()=>this.x+=1 } const x = 1 a.fn() console.log(a.x,x) 正确答案为 ...
- [前端开发] 未来趋势“无后端”的web应用开发模式
最近看到前端趋势2013大会上的一篇文章,题目是<各位快看,不用后端>,觉得有点意思,恰好近期的一次讨论及半年前的一次开发实践也涉及到这种模式,简单谈谈我的想法. 不得不说,文章的题目确实 ...
- 使用Salt-ssh部署Salt-minion之yum安装(一)
一.RPM安装篇 使用salt-ssh功能要求客户端系统python版本2.6+ 1.salt-minion端环境: 系统:CentOS 6.5 64bit python版本:2.6.6 2.配置/e ...
- < 转载 > 说说JSON和JSONP
推荐博文---说说JSON和JSONP,也许你会豁然开朗,含jQuery用例 里头说的很详细!
- 误: Apache shutdown unexpectedly解决办法
from:http://www.wopus.org/wordpress-basic/getting-started/2536.htmlXAMPP错 2015年10月20日15:58:19 新手上路发 ...
- iPhone程序中的加密处理
本文转载至 http://blog.csdn.net/zaitianaoxiang/article/details/6650478 原文链接 : http://www.yifeiyang.ne ...
- drawableRightset 和 CompoundDrawables
android:drawableRight="@drawable/check_down" 在代码中的用法是: Drawable drawable = getResources(). ...
- TP表单验证
[表单验证] javascript jquery 在服务器端通过tp框架实现表单验证 用户名.密码.重复密码.邮箱.qq.手机号码.爱好.学历 具体步骤: 制作表单 表单form数据通过create( ...