码迷,mamicode.com
首页 > 其他好文 > 详细

UI_UItableView_AutoCell(自定义cell)

时间:2015-07-13 22:26:18      阅读:113      评论:0      收藏:0      [点我收藏+]

标签: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"];

实现cell

- (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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!