iOS知识学习_iOS动态改变TableView Cell高度

Posted weasleyqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS知识学习_iOS动态改变TableView Cell高度相关的知识,希望对你有一定的参考价值。

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

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

类中获取cell的高度:
    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的高度:
    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的高度就有啦。



以上是关于iOS知识学习_iOS动态改变TableView Cell高度的主要内容,如果未能解决你的问题,请参考以下文章

iOS 应用提交:该应用正在使用私有 API:_tableView

根据内容动态调整tableview单元格的高度 - iOS Swift

iOS:我的 TableView 标题的背景颜色在 iOS13 中不再改变

如何在 iOS 中创建具有动态 tableview 高度的动态 tableview 单元格

iOS滑动tableView来改变导航栏的颜色-1

iOS UISearchDisplayController 防止 tableview 改变背景颜色(背景保持灰色)