标签:ui uitableview 封装 自定义cell
@interface YadongCell : UITableViewCell
#pragma mark - 赋值方法
- (void)setCellDateWithYadong:(CinemaModel *)sender;
#pragma mark - 自定义高度
+(CGFloat)height;
#pragma mark - 封装
+ (instancetype)getYadongCellWithTtableView:(UITableView *)tableView;
方法实现
@interface YadongCell ()
@property (nonatomic, strong) UILabel *nameLabel;
@property (nonatomic, strong) UILabel *addrsLabel;
@property (nonatomic, strong) UILabel *trafficLabel;
@end
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
[self createLabel];
}
return self;
}
#pragma mark - 创建 label
- (void)createLabel
{
self.nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, [UIScreen mainScreen].bounds.size.width - 20, 30)];
//
[self.contentView addSubview:self.nameLabel];
self.addrsLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 45, [UIScreen mainScreen].bounds.size.width - 20, 30)];
[self.contentView addSubview:self.addrsLabel];
self.trafficLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 80, [UIScreen mainScreen].bounds.size.width - 20, 30)];
[self.contentView addSubview:self.trafficLabel];
}
#pragma mark - 赋值方法
- (void)setCellDateWithYadong:(CinemaModel *)sender
{
self.nameLabel.text = sender.cinemaName;
self.addrsLabel.text = sender.address;
self.trafficLabel.text = sender.trafficRoutes;
}
#pragma mark - 自定义高度
+(CGFloat)height;
{
return 120.0f;
}
#pragma mark - 封装
+ (instancetype)getYadongCellWithTtableView:(UITableView *)tableView
{
static NSString *cellIdentifier = @"YadongCell";
YadongCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
// if (cell == nil) {
// cell = [[YadongCell alloc] initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:cellIdentifier];
// }
return cell;
}
// 给 tableView 注册,不用判断重用池是否为空(上面)
[self.rootView.mainTableView registerClass:[YadongCell class] forCellReuseIdentifier:@"YadongCell"];
// 有几种类型,就要注册几种:可以注册无数次
[self.rootView.mainTableView registerClass:[YadongCell class] forCellReuseIdentifier:@"UITableViewCell"];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
YadongCell *cell = [YadongCell getYadongCellWithTtableView:tableView];
// 设置cell的值
[cell setCellDateWithYadong:self.dataArray[indexPath.row]];
return cell;
}
版权声明:本文为outlan原创文章,未经博主允许不得转载。
UI_UItableView_AutoCell(自定义cell)
标签:ui uitableview 封装 自定义cell
原文地址:http://blog.csdn.net/yadong_zhao/article/details/46868563