这可能是一个简单的问题,但我希望通过正确的道路。
我从网络服务中获取一些内容并将其显示在表格视图中。
从那里获取的文本长度可能会有所不同。
有时它可能只有一个句子句子,有时候是段落等。
所以我的疑问是如何根据来自webservice的内容改变自定义单元格的高度。
希望得到你的帮助。
提前致谢。
答案 0 :(得分:0)
在你的UITableViewDelegate中实现以下方法
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
根据行返回适当的高度。
您可以使用NSString的方法-sizeWithFont:
来获取您获得的文本的像素大小。
答案 1 :(得分:0)
假设您将每个内容的文本存储在数组中。索引与表格单元格对齐。 这是您要使用的代码。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *string = [array objectAtIndex:indexPath.row];
//300 is the width, you can change this to make it look right.
CGSize maximumLabelSize = CGSizeMake(300 ,9999);
CGSize expectedLabelSize = [string sizeWithFont:YOURLABEL.font
constrainedToSize:maximumLabelSize
lineBreakMode: UILineBreakModeWordWrap];
return expectedLabelSize.height;
}
几乎涵盖了基本内容。只要问你是否还有其他问题。阅读Leena的评论。它非常适合。