根据自定义单元格增加主tableview行高

2023-11-29

我有一个应用程序,其中有一个表格视图在该表格视图的每一行上,我动态创建一个自定义表格视图单元格。

下面是代码。

NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"flowviewTableViewCell" owner:self options:nil];

cell2 = [nib objectAtIndex:0];

return cell2;

“FlowTableViewCell”是一个 UITableViewCell。在这个自定义单元格中,我有一个表格视图。

我正在从数组中显示我的自定义表格视图单元格上的一些数据,这些数据的长度各不相同。它不是固定的。

我可以增加自定义单元格大小,但不能增加主表格视图行高,具体取决于自定义表格视图单元格的大小。

我想根据自定义表格视图单元格的大小动态增加主表格视图单元格大小的高度。

通过以下代码,自定义 tableView 单元格的高度不断增加。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{

    NSString *str = [arrComments objectAtIndex:indexPath.row];
    CGSize size = [str sizeWithFont:[UIFont fontWithName:@"Helvetica" size:14] constrainedToSize:CGSizeMake(280, 999) lineBreakMode:NSLineBreakByWordWrapping];
    NSLog(@"%f",size.height);
    if (size.height<20)

    {
        size.height=20;
        //m= size.height;

    }

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

    return size.height +  30;


}

如何根据自定义 uitableviewcell 的大小调整主 tableview 行高的高度?

在这里,我附上一些屏幕截图以便清楚理解。

以下是我自定义的 UITableViewCell:

Custom TableViewCell

以下是我的主要 TableView :

Main TableView

以下是我现在得到的输出:

output getting right now

您可以在上图中看到同一帖子的 comment2 被剪切,而同一帖子的 comment3 将显示在下一篇帖子中。

我想要如下图所示的输出。

enter image description here

所以,我的问题是如何根据自定义表格视图单元格的大小动态增加主表格视图单元格大小的高度?

请帮助我。任何帮助将不胜感激


您可以使用以下方法计算标签的高度:

- (CGRect)heightOfLabel:(UILabel*)resizableLable
 {
    CGSize constrainedSize = CGSizeMake(resizableLable.frame.size.width  , 9999);

        NSDictionary *attributesDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                              [UIFont fontWithName:@"HelveticaNeue" size:11.0], NSFontAttributeName,
                                              nil];

        NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"textToShow" attributes:attributesDictionary];

        CGRect requiredHeight = [string boundingRectWithSize:constrainedSize options:NSStringDrawingUsesLineFragmentOrigin context:nil

        ];


        if (requiredHeight.size.width > self.resizableLable.frame.size.width) {
            requiredHeight = CGRectMake(0,0, self.resizableLable.frame.size.width, requiredHeight.size.height);
        }

      return requiredHeight;
    }

从 TableView 委托方法调用此方法:

- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath {
   UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

   return [self heightOfLabel:cell.textLabel];

} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据自定义单元格增加主tableview行高 的相关文章

随机推荐

  • Spark:如何获得伯努利朴素贝叶斯的概率和 AUC?

    我正在运行一个Bernoulli Naive Bayes使用代码 val splits MyData randomSplit Array 0 75 0 25 seed 2L val training splits 0 cache val t
  • 钛 - 动画很不稳定

    所以我有一个图像想要下拉到页面上 如果用户单击按钮 图像将停止从页面下拉 我使用 eventListener 完整 样式来执行此操作 并且它以某种方式工作 问题是下降时断断续续 令人恼火 钛有没有更有效的方法来制作某种形式的简单动画 这是一
  • ASA 提供的 PowerBi 最新值

    是否可以显示从流分析到达 PowerBi 的最新值 例如 在卡片图类型中 我想象有一个用于选择最新值或其他值的测量时间字段的过滤器值 您现在能做的最好的事情就是使用问答来提出 在过去 10 秒内显示价值 之类的问题 这是一个有效的请求 您可
  • android编程获取Android设备的所有照片

    我正在尝试获取我的 Android 设备的所有照片 我有一个onCreate功能 public void onCreate Bundle savedInstanceState super onCreate savedInstanceStat
  • 使用seaborn绘制条形图

    我正在使用的数据框 https www kaggle com mustiztemiz diabetes 我有以下专栏 Outcome 其值为 0 或 1 我想绘制一个条形图 其中 x 轴上有结果 y 轴上有计数 我的代码如下 sns bar
  • 为什么Python 3.10中的关键字“match”可以作为变量或函数名? [复制]

    这个问题在这里已经有答案了 我不完全明白为什么这个关键字match与其他关键字不同 可以用作变量或函数名称if while etc gt gt gt match abc case abc print Hello Hello gt gt gt
  • 如何将 char* 转换为 int?

    我需要将 char 转换为整数 例如 data SetBytFldPos attribute gt value 属性类中的值是 char SetBytFldPos 采用 int 有很多方法 最简单的是使用strtol 功能
  • 在 JavaScript 中,类和构造函数有什么区别? [复制]

    这个问题在这里已经有答案了 类和构造函数都可以用来创建对象 这typeof对他们俩来说都是function 那么 什么时候应该使用类 什么时候应该使用构造函数 从技术上讲 类是构造函数 任何带有一个 Construct 内部方法被认为是一种
  • SoapHttpClientProtocol.ReadResponse - 请求失败,HTTP 状态 401:未经授权

    我有一个 ASP NET v2 0 Web 应用程序 它使用对 SQL Server Reporting Services 208 R2 实例的引用 使用 ReportService2010 asmx 服务端点 Web 应用程序托管在 Se
  • 通过javascript自动向页面上的每个DIV添加类(连续编号)?

    我正在我的 WordPress 安装上运行一个联系表单插件 一切正常 但我想对我的表单进行更多设计 为此 我必须以不同的方式设置一些 DIV 插件正在处理的 的样式 问题是 所有 DIV 容器都没有 ID 或类 一切都由插件处理 而我的 P
  • 如何使页面脚本识别手动更改的 INPUT 元素值?

    我正在开发一个 Chrome 扩展程序 目前正在尝试让我的内容脚本使用网站上的表单自动进行搜索 我通过更改输入的值然后使用 jQuery 来做到这一点change 方法 因为否则该网站不会开始搜索 var search videoSearc
  • 在没有 IDE 的情况下构建 jar 时出现“无法解析持久性单元”错误

    当我在 intellij Idea 中运行 maven build 命令时 一切正常 但是 当我尝试使用 Maven 控制台在没有 IDE 的情况下运行 mvn clean package 时 我收到一条错误消息 指出无法解析持久性单元 我
  • ios 上的 atob 有什么替代方案吗?

    在我的 Ionic 应用程序中 我使用 atob 命令 它在 chrome 和 android 上运行良好 但由于某种原因在 iOS 上不起作用 有其他选择吗 In IOS atob不接受空格字符 所以使用atob像那样 var input
  • CodeIgniter htaccess子文件夹问题

    我想要我的域中的文件夹 test 中有第二个网站 www mydomian com test Apache 服务器运行在 Linux 上 但是当我在导航器中加载它时 找不到样式 图像 助手 我的htaccess是这样的 重写引擎开启 重写基
  • 将 Selenium RC 作为 Windows 服务运行

    我正在尝试将 Selenium 设置为 Windows 服务运行 看起来没问题 但是似乎运行不正常 使用我已经完成的Windows工具包 C Program Files Windows Resource Kits Tools instsrv
  • 可访问性不一致:字段类型“TagHandler”的可访问性低于字段“EditTag.tag”

    我想创建一个可以编辑班级字段的表单TagHandler 所以我决定作为参数传递给构造函数TagHandler tag where tag 是我要编辑的标签 在我的表单中 我有一个字段tag我对其进行编辑 然后获取其数据 例如 在我的主窗体中
  • 在 Python 中对 3d 数组进行插值。如何避免for循环?

    我有一个数组 我想在第一个轴上进行插值 目前我正在这样做 就像这个例子 import numpy as np from scipy interpolate import interp1d array np random randint 0
  • java for循环问题

    我正在编写一个 Java 程序来计算辛普森积分规则 这是我的代码 请注意 count 4 9 10 11 的输出值中的第二列数字 它们不是我需要的数字 它们不遵循模式 我需要这些数字准确无误 这是怎么回事 我该如何解决 public sta
  • 使用 XML 可绘制的垂直线

    我试图弄清楚如何定义一条垂直线 1dp 厚 用作可绘制对象 要制作水平的 非常简单
  • 根据自定义单元格增加主tableview行高

    我有一个应用程序 其中有一个表格视图在该表格视图的每一行上 我动态创建一个自定义表格视图单元格 下面是代码 NSArray nib NSBundle mainBundle loadNibNamed flowviewTableViewCell