我在我的应用程序中使用带有标题的UITableView,我想在tableview的单元格中添加字符串。在标题下面的单元格中,我想填充字符串数据,并根据字符串的大小我想增加单元格的高度
为了更好地理解,我附上了文件。
但我无法得到我想要的答案。
为了更好地理解我也附加了图像。
标签说明指示我的标题,在下一个单元格中我想添加字符串。
那么如何根据字符串长度增加单元格的高度。
提前完成。
答案 0 :(得分:2)
实施方法
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
//return appropriate value based on IndexPath.row
UIFont *font = textLabel.font; // use custom label's font
NSString *myText = @"your text for row at index path";
CGSize size = [myText sizeWithFont:font forWidth:textLabel.frame.size.width lineBreakMode:UILineBreakModeWordWrap];
return (size.height+20); //10 pixels space above the textlabel and below 10 pixels space
}
如您所提及的链接中所述。
答案 1 :(得分:1)
使用以下委托方法:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
//return appropriate value based on IndexPath.row
}
在此方法中,从数据源aray中,检查特定行的字符串长度并相应地返回高度。
答案 2 :(得分:0)
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *text =@"your String";
CGSize constraint = CGSizeMake(CellContentWidth - (CellMargin * 2), 20000.0f);
CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FontSize] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
CGFloat height = MAX(size.height, 44.0f);
return height + (cellMargin* 2);
}
NSString *text = [arr objectAtIndex:indexPath.row];
CGSize constraint = CGSizeMake(labelwidth , 20000.0f);
CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:15] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
CGFloat height = MAX(size.height, 44.0f);
cell.lbl3.frame=CGRectMake(X,Y ,W, height);