菜鸟成长记-UITableView

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;

}


菜鸟成长记-UITableView_第1张图片


是不是一直疑惑协议方法中的tableView一直用不到,它的作用到底是什么呢!一个控制器可以关联多个数据源
,这里的tableView就可以进行判断,你是用的是那个数据源,
菜鸟成长记-UITableView_第2张图片

看到这张图是不是就明白了,直接上代码
菜鸟成长记-UITableView_第3张图片

菜鸟成长记-UITableView_第4张图片

你可能感兴趣的:(ios成长之路)