1. UITabBarController(标签控制器)
1.1 是什么
类似于UINavigationController,也是一个控制器的控制器,经常看见的UITabBarController表现为UITabbar。(类似于navigationController的UIToolBar)
1.2 如何使用
创建UITabBarController对象,.viewControllers = @[vc1,vc2,vc3,vc4];
如果多出四个以上的视图控制器,会自动在Tabbar上生成一个More视图
1.3 重要的属性
设置VC的属性(VC初始化的时候使用 不要在viewDidLoad中 原因:生命周期)
.title 文字
.tabBarItem 图片 (默认是以单色显示)
用于显示不同的内容
1.4 NavigationController和TabBarController一起使用
window->TabBarController->NavigationController->TableViewController->ViewController
2. UICollectionViewController
2.1 是什么
是一个展示大量数据的遥控器,功能几乎与UITableViewController差不多,其实是UITableViewController的变种,是正真的二维表(多行多列)。
IOS6以后支持的,用于展示视图、布局更加灵活,用法类似TableViewController。
2.2 使用
使用方式与UITableViewController几乎一模一样
2.3 不同点
1.UICollectionView是多行多列
2.UICollectionView中的Cell一般需要"自定义"
UICollectionViewCell中没有定义
.textLabel
.detailLabel
.imageView 等属性都没有,所以需要自定义
分析:
tableView——属性——tableViewController
显示 UITableViewDataSource——方法
操作 UITableViewDelegate——方法
2.4 实现步骤
(1)创建一个VC
(2)拖拽CollectionView到VC中(委托对象)
(3)设置被委托对象
<1>遵守协议
UICollectionViewDataSource
UICollectionViewDelegate
<2>实现方法
CocoaLigature0 numberOfSectionsInCollectionView
numberOfItemsInSection
cellForItemAtIndexPathCocoaLigature1
<4>自定义Cell(参考自定义TableViewCell)
a.创建一个类(UI)
2.5 重要属性
Cell Size 视图大小
Header/Footer 的大小
Min Spacing:设置Cell对象间(横)/行(竖)间隔距离
Section Insets:内边距,Cell对象与边的距离,上、下、左、右。
2.6 CollectionView 可以布局类,进行布局,使用UIKit提供的布局(UICollectionViewFlowLayout),也可以自定义布局。
2.7 CollectionView的一些常用属性
layout:Flow/Custom
如果选择Flow,Cell一个挨一个。
如果选择custom,需要制定一个布局类,此类一定是自定义的,并且继承UIColleLayout。
ScrollDirection:滚动的方向,默认是水平的,也可以是垂直的。
CollectionView是UIScrollView的子类,所以有pagingEnabled属性。
2.8 布局
<1>是什么
CollectionView是布局的精髓,相当于CollectionView的大脑和中枢,负责设置CollectionView的一些属性。
位置、尺寸、透明度、层级关系、形状...
<2>本质
本质就是对象,UICollectionViewLayout类的子类对象。
UIKit提供了一个布局类:
UICollectionViewFlowLayout:
UICollectionViewLayout,流式布局,一个挨一个。
<3>自定布局
写一个类,继承自UICollectionViewLayout或继承UICollectionViewFlowLayout,创建此类的对象,设置为collectionView的布局属性即可。
3.其他控件
应用工程师 司机 熟练度
研发工程师 研发汽车 研发能力(创新)
UISegmentedControl 分段控制选择
3.1允许用户在多个分段中做出选择。
重要属性:
selectedSegmentIndex 按钮的索引
重要事件:
valueChanged
练习:
在界面上添加两个视图,按第一个按钮时,显示第一个视图,按第二个按钮时,显示第二个视图,并且把第一个视图隐藏。(view.hidden)
3.2 Activity Indicator 活动指示器
用来标记某个状态,活动或者空闲。
重要方法:
A.开始动画
startAnimating
B.停止动画
stopAnimating
练习:
在界面上添加两个按钮,点击第一个让活动指示器动起来,点击第二个让活动指示器停止。
3.3 ProgressView 进度条
用来显示任务的状态,文件下载的进度或邮件的读取速度。
重要属性:
.progressTintColor 进度条颜色
.tractTintColor 底颜色
.progress 值0.0~1.0 之间
备注:
NSTimer定时器
参数1:间隔时间 单位/秒
参数2:通知哪个对象
参数3:发送什么消息
参数4:nil
参数5:是否重复执行
NSTimer *timer = [NSTimer scheduledTimerWithInterval:1 target: select: userInfo: repeats:]
[timer invalidate];停止定时器的继续执行CocoaLigature1
3.4 UITextView 多行文本框
继承了UIScrollView,是一个可滚动的多行视图文本区域,可以格式化并且可以编辑。
重要属性:
.text 文本框的内容
.textColor 里面的字体颜色
.delegate 代理对象
.returnKeyType 返回按钮的类型
.scrollEnabled = YES 是否可以拖动滚动条
重要方法:
…参照 UITextField
3.5 DatePicker 日期选择器
重要属性:
.date 得到选中的日期对象 (UTC事件)
.locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"];
重要方法
valueChanged
练习:
使用一个日期选择器,得到一个事件显示在文本框上。
3.6 PickerView 视图选择器
允许用户从滚轮控件中选择数据,与TableView相似。
(1)数据源 UI……datasource…
数据源负责计算UIPickerView有多少列(滚轮的个数)、多少行(滚轮中数据的个数)。
返回总的列数:
返回总的行数:
(2)事件方法(Delegate)UI……delegate…
<1>第component列第row行显示样的View。(NSString)
<2>选择某一行时 触发该事件方法
<3>返回component列每一行的高度
刷新某一列数据
[pickerView reloadCompnent:1];
练习:
北京->朝阳、海淀、西城
上海->浦东、浦西、徐汇
广州->天河、越秀、白云