在表视图的单元格中显示多行 – IOS

我想在Table的单元格视图中显示我正在处理的IOS应用程序中的多行。 确切地说,我有一个表视图,其中将填充从服务器返回的JSON数据,如果返回的状态为0或2(状态是为配置文件返回的JSON对象之一),则此处为i必须显示5-6行的错误消息。

表格的单元格视图可以自定义显示2个UILabel,显然这个单元格的高度足够小,可以显示2个标签。 我找到了一个解决方案 ,但实际上并没有解决问题。 谁能提出不同的解决方案。 如果可能的话,链接到一个例子将是一个很大的帮助。 谢谢

您正在搜索的内容称为“动态大小”单元格。 有一个如何实现这个目的的教程: http : //www.raywenderlich.com/73602/dynamic-table-view-cell-height-auto-layout

它会根据文本长度调整所有单元格的高度,如下例所示: 在此处输入图像描述

如果您必须将此多行消息显示到UITableViewCell中当前具有的UILabel之一,则将属性“No of Lines”设置为0(零)并将“Line Mode”设置为UILineBreakModeWordWrap,现在为单元格的高度有两个选项,即带约束或没有约束,这将使用cellForRowAtIndexPath方法完成。

1. if (error_message_shown) { return 200.0; else return 60.0; if (error_message_shown) { return 200.0; else return 60.0;

  1. 有约束力
    添加顶部,底部,左侧,右侧,宽度和高度约束,确保使用> =表示高度并使用以下方法计算分配给单元格的文本的高度

    CGSize size = [string sizeWithAttributes:@ {NSFontAttributeName:[UIFont systemFontOfSize:17.0f]}];

当我有动态细胞高度时,我会使用类似的东西

 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { static MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"my_cell_id"]; NSDictionary *responseItem = [self itemFor:indexPath]; return (CGFloat)[cell heightFor:responseItem]; }