我想在表格的单元格视图中为我正在处理的IOS应用程序显示多行。确切地说,我有一个表视图,将使用从服务器返回的JSON数据填充,如果返回的状态是0或2(状态是为配置文件返回的JSON对象之一),则必须显示5-6行的错误消息。
表格的单元格视图可以自定义显示2个UILabel,显然这个单元格的高度足够小,可以显示2个标签。我发现了一个solution,但它实际上并没有解决问题。谁能提出不同的解决方案。如果可能的话,链接到一个例子将是一个很大的帮助。谢谢
答案 0 :(得分:2)
您要搜索的内容称为“动态大小”单元格。有一个如何实现这一目标的教程:http://www.raywenderlich.com/73602/dynamic-table-view-cell-height-auto-layout
它会根据文本长度调整所有单元格的高度,如下例所示:
答案 1 :(得分:0)
如果您必须将此多行消息显示给UITableViewCell中当前具有的UILabel之一,则设置属性" No of Lines"到0(零)并设置"线路模式"到UILineBreakModeWordWrap,现在对于单元格的高度你有两个选项,即带有约束或没有约束,这将使用cellForRowAtIndexPath方法完成。
1。if (error_message_shown) {
return 200.0;
else
return 60.0;
有约束力 添加顶部,底部,左侧,右侧,宽度和高度约束,确保使用> =表示高度并使用以下方法计算分配给单元格的文本的高度
CGSize size = [string sizeWithAttributes: @ {NSFontAttributeName: [UIFont systemFontOfSize:17.0f]}];
答案 2 :(得分:0)
当我有动态单元格高度时,我会使用
之类的东西- (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];
}