UITableView
在APP中各处都在使用UITableView,必须熟记,今天简单说明UITableView的基本使用。
首先掌握的知识有:
1,设置UITableView的dataSource、delegate
2,UITableView多组数据和胆组数据的展示
3,UITableViewCell的常见属性
4,UITableView的性能优化(cell的循环利用)
5,自定义cell
UITableView的两种样式
UITableViewStylePlain和UITableViewGrouped
UITableView如何展示数据呢?
1,UITableView需要一个数据源(dataSource)来显示数据
2,UITableView会想数据源查询一共有多少行数据以及每一行显示什么数据等
3,没有设置数据源的UITableView只是一个空壳
4,凡是遵守UITableViewDataSource协议的OC对象,都可以是UITableView的数据源
献上小哥一份简单代码瞧瞧:
#import "TableViewController.h"
@interface TableViewController ()<UITableViewDataSource>
@end
@implementation TableViewController
- (void)viewDidLoad {
[super viewDidLoad];
/*
1,为了UITableView设置数据源对象
2,让数据源对象遵守UITableViewDataSource协议
3,在数据源对象实现UITableViewDataSource协议的方法(一般情况下实现3个方法)
*/
self.tableView.dataSource = self;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#warning 数据源实现的方法
//告诉UITableView 要显示几组
//这个方法可以不实现,不实现默认就是分1组
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
//告诉UItableView魅族显示几条(几行)数据
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 2;
}
//cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"123" forIndexPath:indexPath];
//创建一个单元格对象并返回
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
cell.textLabel.text = @"hello";
return cell;
}
UITableView的常见属性:
rowHeight 可以统一设置所有行的高度
separatorColor 分割线的颜色
separatorStyle 分割线的样式(枚举)
tableHeaderView 一般可以放广告
tableFooterView 一般加载更多
UITableViewCell
UITableViewCell的常见属性:
imageView; 图片
textLabel;主标题
detailTextLabel;副标题
accessoryType;(枚举)系统提供单元格右边符号
accessoryView;自定义符号
backgroundColor;设置单元格的背景颜色(cell的背景)
backgroundView;可以利用这个属性来设置单元格的背景图片,指定一个UIImageView就可以了
selectedBackgroundView;设置单元格选中时的背景颜色
UITableView中的cell的重用:
解决性能问题
查看每个“数据源方法”的执行顺序