self.tableView.dataSource = self;
@interface ViewController () <UITableViewDataSource>
@end
// 多少組數(shù)據(jù)
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;
// 每一組有多少行數(shù)據(jù)
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
// 每一行顯示什么內(nèi)容
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
// 每一組的頭部
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section;
// 每一組的尾部
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
tableView的常見設(shè)置
// 設(shè)置每一行cell的高度
self.tableView.rowHeight = 100;
// 設(shè)置每一組頭部的高度
self.tableView.sectionHeaderHeight = 50;
// 設(shè)置每一組尾部的高度
self.tableView.sectionFooterHeight = 50;
// 設(shè)置分割線顏色
self.tableView.separatorColor = [UIColor redColor];
// 設(shè)置分割線樣式
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
// 設(shè)置表頭控件
self.tableView.tableHeaderView = [[UISwitch alloc] init];
// 設(shè)置表尾控件
self.tableView.tableFooterView = [UIButton buttonWithType:UIButtonTypeContactAdd];
// 設(shè)置右邊索引文字的顏色
self.tableView.sectionIndexColor = [UIColor redColor];
// 設(shè)置右邊索引文字的背景色
self.tableView.sectionIndexBackgroundColor = [UIColor blackColor];
tableViewCell的常見設(shè)置
// 設(shè)置右邊的指示樣式
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
// 設(shè)置右邊的指示控件
cell.accessoryView = [[UISwitch alloc] init];
// 設(shè)置cell的選中樣式
cell.selectionStyle = UITableViewCellSelectionStyleNone;
// backgroundView優(yōu)先級 > backgroundColor
// 設(shè)置背景色
cell.backgroundColor = [UIColor redColor];
// 設(shè)置背景view
UIView *bg = [[UIView alloc] init];
bg.backgroundColor = [UIColor blueColor];
cell.backgroundView = bg;
// 設(shè)置選中的背景view
UIView *selectedBg = [[UIView alloc] init];
selectedBg.backgroundColor = [UIColor purpleColor];
cell.selectedBackgroundView = selectedBg;
cell的循環(huán)利用
/**
* 每當(dāng)有一個cell要進入視野范圍內(nèi),就會調(diào)用一次
*/
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *ID = @"wine";
// 1.先去緩存池中查找可循環(huán)利用的cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
// 2.如果緩存池中沒有可循環(huán)利用的cell
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];
}
// 3.設(shè)置數(shù)據(jù)
cell.textLabel.text = [NSString stringWithFormat:@"%zd行的數(shù)據(jù)", indexPath.row];
return cell;
}
NSString *ID = @"wine";
- (void)viewDidLoad
{
[super viewDidLoad];
// 注冊某個重用標(biāo)識 對應(yīng)的 Cell類型
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:ID];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// 1.先去緩存池中查找可循環(huán)利用的cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
// 2.設(shè)置數(shù)據(jù)
cell.textLabel.text = [NSString stringWithFormat:@"%zd行的數(shù)據(jù)", indexPath.row];
return cell;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者