1.新建一个SimpleTableViewCell
2.新建一个xib
3.打开xib,将View删掉换成tableViewCell
4.选中tableViewCell,更改它的一系列属性
(1)取消自适应,这样可以根据cell里面的内容来动态的更改cell的高度
(2)更改cell的class
(3)填写cell的identifier
(4)连线
到这里为止,cell基本上设置ok了,接下来是使用.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{NSString *identifier = @"SimpleCell";
[self.blogTableView registerNib:[UINib nibWithNibName:@"simpleTableViewCell" bundle:nil] forCellReuseIdentifier:identifier];
simpleTableViewCell *cell = [self.blogTableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil)
{
cell = [[simpleTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
//do something...
[cell setFrame:CGRectMake(0.0f, 0.0f, CGRectGetWidth(self.view.frame), MAXFLOAT)];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];
return cell.frame.size.height;
}
- (void)setFrame:(CGRect)frame
{
CGSize size = [_content.text sizeWithFont:_content.font constrainedToSize:CGSizeMake(CGRectGetWidth(frame)-10, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
_content.frame = CGRectMake(5, 5, size.width, size.height);
if (!_imgView.hidden)
{
_imgView.frame = CGRectMake(5, CGRectGetHeight(_content.frame)+5, CGRectGetWidth(_imgView.frame), ImgHeight);
}
else
{
_imgView.frame = CGRectZero;
}
frame.size.height = CGRectGetHeight(_imgView.frame)+CGRectGetHeight(_content.frame)+10;
[super setFrame:frame];
}