gpt4 book ai didi

iphone - heightForRowAtIndexPath 用于更长的 NSString

转载 作者:行者123 更新时间:2023-12-03 18:38:11 26 4
gpt4 key购买 nike

我有一个UITableView (分组!)并且需要计算两种样式单元格的高度:UITableViewCellStyleDefaultUITableViewCellStyleValue2 .

我就是这样做的 UITableViewCellStyleDefault :

CGSize  textSize = {300.f, 200000.0f};
CGSize size = [myTextString1 sizeWithFont:[UIFont systemFontOfSize:14.0f] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap];
size.height += 30.0f;
result = MAX(size.height, 44.0f);

对于 UITableViewCellStyleValue2 :

CGSize  textSize = {207.f, 200000.0f};
CGSize size = [myTextString2 sizeWithFont:[UIFont systemFontOfSize:14.0f] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap];
size.height += 30.0f;
result = MAX(size.height, 44.0f);

我的问题是它们返回的高度不正确,我认为是 textSize我使用不正确数字的地方。对于长文本,底部会被剪短(通常只是一行几个单词),并且对于两种 CellStyles,它们在单元格中的文本上方和下方都有奇怪的间距。

对于UITableViewCellStyleValue2我通过将 text.backgroundColor 设为红色然后计算框的大小来获得宽度大小( 207.0f )。 300.0f宽度为UITableViewCellStyleDefault UITableViewStyleGrouped 是单元格有多大.

有谁知道我需要使用哪些值来正确计算 NSString 的大小从而为我的细胞获得适当的高度?

谢谢

最佳答案

这是我为此使用的代码。它对于一种类型的细胞来说就像一种魅力。它可能有一些对您的应用程序有用的部分。

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath {
AppAppDelegate *appDelegate = (AppAppDelegate *)[[UIApplication sharedApplication] delegate];
NSString *Text = ([[appDelegate.myTextSectionsDelegateDict objectAtIndex:indexPath.section] objectForKey:@"Text"]);

UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17.0];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize labelSize = [Text sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
return labelSize.height + 15;}

关于iphone - heightForRowAtIndexPath 用于更长的 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1160765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com