UITableView (继承UIScrollView)非常常用
1:rowHeight 设置所有行的高度
2:dataSource 指定数据源
3:separatoColor 设置分割线的颜色
4:separatoStyle 设置分割线格式
5:tableHeaderView 在表格最上方显示内容
6:tableFooterView 在表格最下方显示内容
7: reloadData 重新刷新数据
8:reoadSections: 局部刷新
UITableViewCell单元格
1 :accessoryType 在单元格最右边显示图标属性
2 :accessoryView 自定义属性
3 :textLabel 得到文本字段
4 :detailTextLabel 子文本字段
5 :backgroudView 背景图片 指定一个UIImageView
6 :selectBackgroudView 被选中的单元格的背景
单元格重用:(节约内存,提高效率)
在创建单元格的时候指定一个”重用ID“ (NSString类型的变量做标识),
当需要一个新的单元格的时候,先去”缓存池“中根据”重用ID“查找符号的可用的单元格(没有就重新创建单元格),
tableview 调用dequeueReusableCellWithIdentifer方法
作用是根据”重用ID“取缓存池中查找对应的Cell
注:有时候会根据文字多少设置文本尺寸,这时候就需要动态获取尺寸,
字符串对象调用boundRectWithSize方法得到CGSize即可。
UITableView的代理方法就不多说了,无非就是一个TableView应该具备组数、每组的行数、每行显示的cell界面、组头、组尾,这里注意的用的比较生疏的协议方法讲解一下
- (nullable NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView {
return [self.array valueForKey:@"title"];
}
#pragma mark ----- 组头的文字显示
-(NSString*)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
CardModelGroud *groud = self.array[section];//得到模型
return groud.title;
}
是不是一直疑惑协议方法中的tableView一直用不到,它的作用到底是什么呢!一个控制器可以关联多个数据源
,这里的tableView就可以进行判断,你是用的是那个数据源,
看到这张图是不是就明白了,直接上代码