如何解决多行的UILabel是溢出其含有的UITableViewCell?
-
13-09-2019 - |
题
我无法在一个自定义的UITableView细胞显示多行的UILabel。
我目前使用此来计算电池的两个高度...
NSString *cellText = [howtoSection objectAtIndex:row];
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:15.0];
CGSize constraintSize = CGSizeMake(260.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
return labelSize.height + 20;
...这是用于在标签本身。
// Calc the height
NSString *cellText = [howtoSection objectAtIndex:row];
CGSize constraintSize = CGSizeMake(260.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cell.textLabel.font constrainedToSize:constraintSize lineBreakMode:cell.textLabel.lineBreakMode];
// Create the label frame
CGRect newFrame = cell.contentLabel.frame;
newFrame.size.height = labelSize.height;
cell.contentLabel.frame = newFrame;
[cell.contentLabel setText:[howtoSection objectAtIndex:row]];
一切工作按计划除了标签被推向下并向外细胞自身。如果不是这种明显的上边距一切将适合。
下面是我所看到的在模拟器...
的图片的链接这里任何帮助,将不胜感激。
解决方案
我不明白你在你展示的代码中设置cell.contentLabel.font
。
另外,根据标签尺寸计算使用cell.textLabel.font
计算其大小,但使用contentLabel
可变渲染。
有可能你用不同的字体比计算渲染?
其他提示
你是如何增加您的标签的内容查看?它看起来像原来的定位是错误的,因为高度看起来是正确计算。如果您注释掉指定新框架,是在正确的位置的标签吗?我的赌注是,事实并非如此。
不隶属于 StackOverflow