首页 文章

动态设置标签高度时遇到问题

提问于
浏览
1

我根据文本标签高度和标签高度动态设置tableView单元格高度 . 当我给出带空格的文本时它工作正常(例如:这是stackoverflow的问题) . 但是当我输入长度为两行而没有空格的文本时(例如,ThisisisQuestionforstackoverflow) . 这是两条线,文字从第二行开始,最后切割 . 它采用第一行全空间和第二行(ThisisQuestionfor .....) .

我正在使用方法

  • (float)calculateHeightOfTextFromWidth:(NSString *)text:(UIFont *)withFont:(float)width:(UILineBreakMode)lineBreakMode

    • (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

在cellForRowAtIndexPath中

float productNameHeight = [DetailsViewController calculateHeightOfTextFromWidth:warObj1.productName :valueFont : valueWidth :UILineBreakModeWordWrap];
UILabel *productNameValue = [[UILabel alloc] initWithFrame:CGRectMake(xCoordinateStartLocatioForValue,yCoordinateStartLocation,valueWidth,productNameHeight)];

你能快点帮我吗 . 谢谢

2 回答

  • 0

    如果文本中没有空格,请确保在计算UILabel的大小和UILabel本身的 lineBreakMode 属性时使用 UILineBreakModeCharacterWrapUILineBreakModeClip .

  • 0

    什么是标签的换行模式以及您允许它有多少行?

    您可能正确设置标签的高度,但然后告诉我在一行上绘制所有文本:)

    您应该检查标签中的行数是否为0(表示需要的数量),换行模式设置为字符中断 . (听起来它现在被设定为截断结束) .

相关问题