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 ...
随机推荐
- maven项目工程报错:cannot be resolved to a type
1.在本地仓库中,搜索“_maven.repositories”所有匹配项,并彻底删除 2.然后再删除“.lastUpdated”所有匹配项 3.最后再重新在eclipse中执行操作:update d ...
- sublime和webstorm安装zencoding
[webstorm] 1.下载模板,地址为http://code.google.com/p/zen-coding/downloads/list,下载以下文件 WebIDE and IntelliJ I ...
- Linux gdb调试器
gdb的启动 --gdb 程序名 [corefile] --corefile是可选的,但能增强gdb的调试能力 --强调:启动gdb必须在编译命里加上"-g"参数,"-g ...
- tinycore Network card configuration during exec bootlocal.sh
question: tinycore在boot时, 运行bootlocal.sh脚本,其中有局域网通信的部分,一直跑不通,测试了一下才知道是运行bootlocal.sh的阶段,网络可能没有配置好,ip ...
- ios -逆向-代码混淆
该方法只能针对有.m.h的类进行混淆,静态库等只有.h文件的没法进行混淆 代码混淆,刚刚看到是不是有点懵逼,反正我是最近才接触到这么个东西,因为之前对于代码和APP,只需要实现功能就好了,根本没有考虑 ...
- 转:python 多线程就这么简单
多线程 科技在发展,时代在进步,我们的CPU也越来越快,CPU抱怨,P大点事儿占了我一定的时间,其实我同时干多个活都没问题的:于是,操作系统就进入了多任务时代.我们听着音乐吃着火锅的不在是梦想. py ...
- linux 复制粘贴
如果想把文件内的第三行内容黏贴到第十五行: 1.进入你的文件,(处于命令模式,而不是编辑模式) 2.将你的光标移到你的第三行的开头(用方向键) 3,按下v,(你发现切换到可视模式了),按方向键,知道选 ...
- java8 关于日期的处理
Java8 为我们提供了一种新的日期格式:LocalDate和LocalDateTime 获取当前的时间及前一天时间的方法: import java.time.LocalDateTime; impor ...
- Spring 事务机制详解(事务的隔离性和传播性)
原文出处: 陶邦仁 Spring事务机制主要包括声明式事务和编程式事务,此处侧重讲解声明式事务,编程式事务在实际开发中得不到广泛使用,仅供学习参考. Spring声明式事务让我们从复杂的事务处理中得到 ...
- 子单元通过 prop 接口与父单元进行了良好的解耦
https://cn.vuejs.org/v2/guide/#起步 现在,我们可以使用 v-bind 指令将待办项传到循环输出的每个组件中: <div id="app-7"& ...