此方法创建控件,添加控件,不做frame处理
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
//self.selectionStyle = UITableViewCellSelectionStyleNone;
_customLabel = [[UILabel alloc] init];
[self.contentView addSubview:];
}
return self;
}
暴露接口用于控件赋值
- (void)setLabelName:(NSString *)name
{
_customLabel.text = name;
}
此方法中处理frame
- (void)layoutSubviews
{
[super layoutSubviews];
_customLabel.frame = ...
}
cell复用,当cell不在视线内时调用
- (void)prepareForReuse
{
[super prepareForReuse];
//可以将cell上得一些内容重置
}
cell高亮时调用
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
[super setHighlighted:highlighted animated:animated];
if (highlighted) {
self.contentView.backgroundColor = cell高亮背景色;
}else{
self.contentView.backgroundColor = [UIColor whiteColor];
}
}