UI_UItableView_AutoCell(自訂cell),自訂uitableview
建立類
@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原創文章,未經博主允許不得轉載。