您的位置:首页 > 移动开发 > IOS开发

ios tableViewcell 的自适应高度

2016-02-25 11:31 330 查看
在做tableView的时候,我们有时候需要根据cell的高度动态来调整,最近在网上看到一段代码不错,跟大家Share一下。



-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

类中获取cell的高度:

[objc] view plain copy

CGSize boundSize = CGSizeMake(216, CGFLOAT_MAX);

cell.textLabel.text = @"12345678900123456789";

cell.userInteractionEnabled = NO;

cell.textLabel.numberOfLines = 0;

CGSize requiredSize = [cell.textLabel.text sizeWithFont:[UIFont systemFontOfSize:13] constrainedToSize:boundSize lineBreakMode:UILineBreakModeWordWrap];

CGRect rect = cell.frame;

rect.size.height = requiredSize.height+5;

cell.frame = rect;

这时候获取到了cell的高度,然后在
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

类中改变cell的高度:

[objc] view plain copy

UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];

NSLog(@"cell height %f",cell.frame.size.height);

return cell.frame.size.height;

这样以来cell的高度就根据cell里label的内容自动改变啦。

其主要出发点就是我有一个label,然后我要把这个label展示出来,我根据字体的大小还有行数来获取一个高度,这样cell的高度就有啦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: