首页 > 代码库 > UI基础--UITableView,UITableViewDataSource,UITableViewDelegate的一些属性和方法
UI基础--UITableView,UITableViewDataSource,UITableViewDelegate的一些属性和方法
UITableView(继承自UIScrollView)的常用属性:
1、可以用连线的方式设置数据源和代理
1 self.tableView.dataSource = self;2 self.tableView.delegate = self;
2、设置高度
1 @property (nonatomic) CGFloat rowHeight;//行高2 @property (nonatomic) CGFloat sectionHeaderHeight; //组头的高度3 @property (nonatomic) CGFloat sectionFooterHeight; //组尾的高度
3、设置分割线
1 @property(nonatomic) UITableViewCellSeparatorStyle separatorStyle;//分割线样式2 @property(nonatomic,retain) UIColor;//分割线的颜色
4、设置tableView是否分组(默认在storyboard中已经设置)
1 @property (nonatomic, readonly) UITableViewStyle;//UITableViewStylePlain, 不分组;UITableViewStyleGrouped 分组
5、自定义头和尾部
1 @property(nonatomic,retain) UIView *tableHeaderView;//头部2 @property(nonatomic,retain) UIView *tableFooterView;//尾部
UITableViewDataSource的常用方法:
1 @required2 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;// 每一组有多少行数据3 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;// 每一个cell都包含什么内容(image、textLabel、detailTextLabel,还有一个就是附属物)4 @optional5 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; // 一个tableView有多少组的数据 ,默认是16 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section; - (NSString *)tableView:(UITableView *)tableView //每一组的头标题7 //titleForFooterInSection:(NSInteger)section;//每一组的尾标题8 - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView; // 返回右侧导航标题(包含的是每组头标题的数组)
UITableViewDelegate的常用方法:
1 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;//每组数据中的行高2 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;//每组数据的组头的高度3 - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;//每组数据的组尾的高度4 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; //每行被选中时的操作
UITableViewCell的重用:
cell的性能优化:当cell滑出屏幕(不用之后),把cell对象存储在特定标示的缓存池,当tableView加载下一个数据的时候,从缓存池中取出空闲的cell:
1 static NSString *reuseIdentifier = @"cell";//设置缓冲池标识2 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];3 if (!cell) {4 cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reuseIdentifier];//当缓存池里暂时没有空闲的cell时,初始化一个cell5 }
UI基础--UITableView,UITableViewDataSource,UITableViewDelegate的一些属性和方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。