我有一个UItableview
,我有一个customCell用于在UITable中打印数据。
现在,我想在特定单元格中添加更多数据。当我选择单元格时,它应该增加单元格的高度并放置该数据。这怎么可能。?
答案 0 :(得分:0)
在DidSelect中,将特定选定单元格的高度设置为所需的单元格。
然后重新加载表格。
这很有用:How to programmatically increase UITableView cell's height in iPhone?
答案 1 :(得分:0)
通过更改行的参数调用重新加载表数据,并在添加数据后查找单元格的高度:
CGSize size=[youstring sizeWithFont:yourlabel.font constrainedToSize:labelfontsize lineBreakMode:lineBreakmodestyle];
从size.height获取高度,并在重新加载heightForRowAtIndexPath
时以tableview
方法返回高度。
答案 2 :(得分:0)
您应该做的是首先计算您必须增加单元格高度的内容的大小
//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;
}
此Above函数将根据文本大小返回高度。
现在只需在
上调用此函数即可 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
}
删除并重新加载表格视图,并使用heightForRowAtIndexPath
delegete上的上述函数给出您计算的大小。
答案 3 :(得分:0)
如果我理解了您想要的内容,请尝试此示例:https://github.com/Dmitriy837/changeTableRowHeighWhenTaped
我建议你继承UITableView并支持其中包含单元格高度的附加属性,并在录制时更改单元格的高度。