增加 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
删除并重新加载表格视图,并在heightForRowAtIndexPath
delegete 处提供您使用上述函数计算的大小。
【讨论】:
【参考方案4】:如果我明白你想要什么,试试这个示例:https://github.com/Dmitriy837/changeTableRowHeighWhenTaped
我建议你继承 UITableView 并支持包含单元格高度的附加属性,并在录制单元格时更改单元格的高度。
【讨论】:
以上是关于增加 Tableview 单元格高度并打印特定行的数据的主要内容,如果未能解决你的问题,请参考以下文章
Swift:tableView 行的高度,其 tableView 单元格具有动态行数的嵌套 tableView