</pre><pre name="code" class="objc">//
// CusotmCellSystem.m
// CustomCellSystem
//
// Created by lije on 14-10-20.
// Copyright (c) 2014年 lije. All rights reserved.
//
#import "CusotmCellSystem.h"
@implementation CusotmCellSystem
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
/// @布局所有需要的视图控件
CGRect fm = CGRectMake(0, 0, 10, 20);
UIImageView *imageView = [[UIImageView alloc] initWithFrame:fm];
imageView.backgroundColor = [UIColor redColor];
[self addSubview:imageView];
}
return self;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 100;
}
#pragma mark - 重写代理方法
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *idetifier = @"ReuseIdentifier";
CusotmCellSystem *cell = [tableView dequeueReusableCellWithIdentifier:idetifier];
if (!cell) {
cell = [[CusotmCellSystem alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:idetifier];
}
return cell;
}
@end
//
// UseCustomCellSystemViewController.m
// CustomCellSystem
//
// Created by lije on 14-10-20.
// Copyright (c) 2014年 lije. All rights reserved.
//
#import "UseCustomCellSystemViewController.h"
#import "CusotmCellSystem.h"
@interface UseCustomCellSystemViewController ()
@end
@implementation UseCustomCellSystemViewController
- (void)viewDidLoad
{
[super viewDidLoad];
UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds];
tableView.delegate = self;
[self.view addSubview:tableView];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 70;
}
#pragma mark - UITableViewDataScouce
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 10;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIde = @"CellIde";
CusotmCellSystem *cell = [tableView dequeueReusableCellWithIdentifier:cellIde];
if (!cell) {
cell = [[CusotmCellSystem alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:cellIde];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.backgroundColor = [UIColor redColor];
label.tag = 1011;
[cell.contentView addSubview:label];
}
UILabel *label = (UILabel *)[cell viewWithTag:1011];
CGRect frame = cell.frame;
frame.origin = CGPointMake(0, 0);
// 在此基础上沿dx dy各扩大2个像素
CGRect rect = CGRectInset(frame, 2, 2);
label.frame = rect;
[label sizeToFit];
if (label.frame.size.height > 46) {
frame.size.height = 70 + label.frame.size.height - 46;
} else {
frame.size.height = 70;
}
[cell setFrame:frame];
return cell;
}
@end