我在iPhone应用程序中遇到问题。
Application有一个带有自定义表视图单元格的表视图控制器。每个单元格都有一个标签(如果我需要使用文本视图等,请纠正我)。我正在通过Web服务调用动态获取文本,我不知道文本会有多长。
现在的问题是我想根据收到的文字调整表格视图的单元格高度。如何在表格视图单元格中增加Label或TextView高度,以便它可以包含所有文本,并实际上增加表格视图单元格高度。
有谁知道如何处理这种设计问题?
由于
答案 0 :(得分:2)
您可以从下面的函数
获取传递的字符串的高度-(float)getHeightByWidth:(NSString*)myString:(UIFont*)mySize:(int)myWidth {
CGSize boundingSize = CGSizeMake(myWidth, CGFLOAT_MAX);
CGSize requiredSize = [myString sizeWithFont:mySize constrainedToSize:boundingSize lineBreakMode:UILineBreakModeWordWrap];
return requiredSize.height;
}
基于上述功能,您可以设置标签的高度以及将要使用的单元格。
答案 1 :(得分:0)
答案取决于您显示的信息的大小和复杂程度。
对于少量文本,您可以使用NSString UIKit Additions计算显示字符串的尺寸,然后在将单元格返回到tableview之前调整单元格的标签或其他控件的大小。这将让您微调每个单元格的显示。
对于大量文本,我建议尽可能详细查看。在表格中显示少量文本,然后选择表格打开另一个包含全文的视图。我认为大多数用户很难在tableview中阅读大量文本。