增加 Tableview 单元格高度并打印特定行的数据

Posted

技术标签:

【中文标题】增加 Tableview 单元格高度并打印特定行的数据【英文标题】:Increasing Tablview Cell Height and Print the data at specific row 【发布时间】:2014-02-25 07:14:14 【问题描述】:

我有一个 UItableview 和一个 customCell 用于打印 UITable 中的数据。

现在,我想在特定单元格中放入更多数据。当我在单元格上选择时,它应该增加单元格的高度并放置该数据。这怎么可能。?

【问题讨论】:

请展示您到现在为止尝试过什么......并提出更多细节问题。 经历这可能会帮助你***.com/questions/21396907/…看到我的答案我发布了一个示例项目 @BhavikKama :我只是从 NSDictionary 打印自定义单元格中的一些数据。 @Ankit你的问题解决了吗? @Shan:非常感谢。如果可能的话,请给我另一个样品.. 【参考方案1】:

在 DidSelect 中,将特定选定单元格的高度设置为所需的单元格。

然后重新加载表格。

这很有帮助:How to programmatically increase UITableView cell's height in iPhone?

【讨论】:

谢谢,但是当我当时在单元格上选择时,特定的自定义单元格正在表格视图中展开并打印数据。在“heightforRowatIndexPath”中检查条件是否选择了特定索引。如果选中,则高度增加,否则打印默认高度。 根据选择的单元格在此处和 cellForRow 中重新加载表格,显示数据'【参考方案2】:

通过改变row的参数调用reload table数据,并在添加数据后找到一个单元格的高度使用:

CGSize size=[youstring sizeWithFont:yourlabel.font constrainedToSize:labelfontsize lineBreakMode:lineBreakmodestyle];

并从 size.height 中获取高度,并在重新加载 tableview 时在 heightForRowAtIndexPath 方法中返回高度。

【讨论】:

【参考方案3】:

你应该做的是首先计算你必须增加单元格高度的内容的大小

//Suppose here is your string which you want to show
-(float) calculateHeight:(NSString *)dataStr


    CGSize size = [dataStr sizeWithFont:[UIFont fontWithName:@"Helvetica" size:17] constrainedToSize:CGSizeMake(280, 999) lineBreakMode:UILineBreakModeWordWrap];
    NSLog(@"%f",size.height);
    return size.height + 10;

上述函数将根据您的文本大小返回高度。

现在只需要调用这个函数就可以了

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 


删除并重新加载表格视图,并在heightForRowAtIndexPathdelegete 处提供您使用上述函数计算的大小。

【讨论】:

【参考方案4】:

如果我明白你想要什么,试试这个示例:https://github.com/Dmitriy837/changeTableRowHeighWhenTaped

我建议你继承 UITableView 并支持包含单元格高度的附加属性,并在录制单元格时更改单元格的高度。

【讨论】:

以上是关于增加 Tableview 单元格高度并打印特定行的数据的主要内容,如果未能解决你的问题,请参考以下文章

增加特定行的高度

Swift:tableView 行的高度,其 tableView 单元格具有动态行数的嵌套 tableView

tableView 单元格高度...如何自定义?

根据 UILabel 文本的数量增加 tableview 单元格的高度

tableview不同的单元格在swift中有不同的高度

表格视图高度之外的行的单元格内容发生变化(要查看此单元格,我们向下滚动)?