一、使用xib
<1>不需要注册
直接在-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;方法中写就好了
static NSString *identifer=@"****TableViewCell";
****TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifer];
if (cell == nil) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"****TableViewCell" owner:self options:nil] lastObject];
}
<2>需要注册
1、在- (void)viewDidLoad;方法中注册:
[_tableView registerNib:[UINib nibWithNibName:@"****TableViewCell" bundle:nil] forCellReuseIdentifier:@"****TableViewCell"];
2、在-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;方法中写:
static NSString *identifer=@"****TableViewCell";
HomeTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifer forIndexPath:indexPath];
二、纯代码
1>、重写自定义cell的initWithStyle:withReuseableCellIdentifier:方法进行布局
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self)
{
// cell页面布局
[self setupView];
}
return self;
}
2>、
1、需要注册
为tableView注册cell,使用registerClass:forCellReuseIdentifier:方法注册
[_tableView registerClass:[****TableViewCell class] forCellReuseIdentifier:@"****TableViewCell"];
在cellForRowAtIndexPath中使用dequeueReuseableCellWithIdentifier:forIndexPath:获取重用的cell,若无重用的cell,将自动使用所提供的class类创建cell并返回
****TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifer forIndexPath:indexPath];
2、不需要注册
static NSString *identifer=@"****TableViewCell";
****TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifer];
if (cell == nil) {
cell = [[****TableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifer];
}
网友评论