UI学习笔记---第十二天UITabBarController
页签视图控制器-UITabBarController 自定义UITabBar block高级
一.UITabBarController

结构为三层:Tab bar controller view Custom content Tab bar
UITabBarController的属性
viewControllers 显示视图控制器 tabBar 标签栏 delegate 代理
通过协议来监听当前选择的是哪个视图控制器
二. 自定义UITabBar
tabBar是UITabBar对象,包含多个UITabBarItem,每一个tabBarItem对应一个viewController,tabBar高度49
当tabBarItem超过5个时,系统会自动增加一个更多按钮,点击更多按钮,没有在底部出现的哪些按钮会以列表形式显示出来

第五个按钮会成系统的样式,如果想要实现自定义第五个以后的按钮显示的图标样式,要只写五个UITabBarItem,第五个实现自定义,包含多个其他的Item
三.控制器嵌套使用
可以把UINavigationController 作为UITabBarController的一个子控制器
也可以把UITabBarController作为UINavigationController的根控制器
四.block实现回调
block最大的优势就是实现回调,替代delegate部分功能
block回调的机制与delegate传值很类似
demo:bolock实现不定时登录
总结1:UITabBarController是项目开发中常见的布局样式,与UINavigationController不同,它的viewControllers都是并列的.而UINavigationController的则是层次的
UITabBar通常都会定义外观以适应程序风格,必要时会完全自定义
总结2:UITabBarController UINavigationController UITableViewController通常都是组合出现,这种布局方式特别常见,一定要熟练应用
UITabBarController可以嵌套UINavigationController
UINavigationController也可以嵌套UITabBarController
实例代码:
UI学习笔记---第十二天UITabBarController的更多相关文章
- Semantic ui 学习笔记 持续更新
这个semantic 更新版本好快~ 首先是代码的标识<code></code> 具体样式就是红框这样的 圈起来代码感觉不错 不过要在semantic.css里在加上如下样式~ ...
- UI学习笔记---第十天UITableView表视图编辑
UITableView表视图编辑 表视图编辑的使用场景 当我们需要手动添加或者删除某条数据到tableView中的时候,就可以使用tableView编辑.比如微信 扣扣中删除和某人的通话 当我们需要手 ...
- UI学习笔记---第二天
程序的执行流程 一.自定义视图 自定义UILebal-UITextField视图 ⾃定义视图:系统标准UI之外,⾃己组合而出的新的视图. 实际开发中,我们还需⾃定义视图.积累⾃己的代码库.⽅便开发. ...
- UI学习笔记---第一天
一.iOS概述 iOS是Apple公司的移动操作系统,主要⽤用于iPhone.iPad.iPad Mini.iPod Touch等移动产品. 借助iOS,我们可以开发视频类.美图类.新闻类.⾳乐类.团 ...
- IOS 学习笔记(3) 视图UITabbarController
1.UITabbarViewController标签试图控制器.由于标签页本就起着分类的作用,所以往往呈现的视图内容之间,可以是毫不相关的功能. UITabbarViewController仍然继承自 ...
- 基于AngularJS的Onsen UI --Onsen UI学习笔记
AngularJS与Onsen UI的结合,Onsen UI应用程序实际上是一个AngularJS 1应用程序. <!doctype html><html lang="en ...
- .Net Core,VUE,VS Code,Sql Sugar,Element UI学习笔记
1..Net Core的目的是跨平台,并主要目标是作为服务端开发使用.从3.0开始,引入了Winfrom和WPF. 2..Net Core可以引用.Net Framework生成的dll和exe,不限 ...
- Amaze UI学习笔记——JS学习历程一
1.自定义事件 (1)一些组件提供了自定义事件,命名方式为{事件名称}.{组件名称}.amui,用户可以查看组件文档了解.使用这些事件,如: $('#myAlert').on('close.alert ...
- jquery ui学习笔记
随机推荐
- NSSet基础-初始化、获取元素、集合运算等
代码: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepo ...
- 二模 (10) day2
第一题: 题目大意:求出区间 [L,R]里约数最多的数. L,R<=10^9 解题过程: 1.一开始我就往恶心的数据去想了,比如 L=R=一个超级大的质数.. 那么 用搜索质因子的方法 是 ...
- 常见的Web负载均衡方法
用户手动选择 通过在主站首页入口提供不同线路,不同服务器链接的方式,来实现负载均衡.在一些提供下载业务的网站中比较常见,如:华军软件园. DNS轮询 大多域名注册商都支持对同一主机名添加多条A记录,这 ...
- Matlab:max函数
Matlab中max函数在矩阵中求函数大小的实例如下: C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的每一 ...
- IntelliJ IDEA 12.0
User name:JavaDeveloper Serial number:92547-KY2BB-QZ0S1-PEZCV-HUT8Q-6RYY4
- hql语句理解2
/* * this.getSession().createQuery("sdfdf").executeUpdate();这里面的query可以是delete,update,inse ...
- sql学习资料
http://blog.sina.com.cn/s/articlelist_1594135432_9_1.html
- struts2+hibernate整合开发步骤
百度的各种代码,步骤,自己整合了一下 1,创建数据库 常用mysql creat table..... 2,在WebContent下的bin中添加相应的包 http://pan.baidu.com ...
- 获得servletContext的路径的方法
request.getSession().getServletContext().getRealPath("")或 System.getProperty("webapp. ...
- android中KSOAP2中的anytype{}问题
如果web返回为空,即空字符串的时候,KSOAP2会返回一个anytype{}这样的一个串回来,要比对下是不是这个串,如果是就返回null,从而避免查不到数据时没有相应处理. if (jsonStr. ...