是否可以创建一个自定义UITableViewCell,根据我想要放入的文本的长度调整大小?如果可能,我该怎么做?
答案 0 :(得分:1)
@EquinoX是的,可以通过heightForRowAtIndexPath
代表....请查看 this 和 Dynamic Height UITableViewCell 他们有同样的问题。
祝你好运!
答案 1 :(得分:1)
绝对,
我喜欢通过传递一个模型(只是带有数据的NSObject)来设置我单元格上的所有数据。然后我创建一个可以由模型设置其数据的自定义单元格,并添加一个类级别函数来返回大小。它看起来像这样。
TableViewDelegate:
-(float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
XTableViewCellModel *model = [self modelForIndexPath:indexPath];
return [XTableViewCell cellHeight:model];
}
XTableViewCell:
+(CGFloat)cellHeight:(XTableViewCellModel*)model {
CGSize titleSize = [model.title sizeWithFont:model.titleFont
constrainedToSize:CGSizeMake(280, 9999)
lineBreakMode:UILineBreakModeTailTruncation];
return titleSize.height;
}
请注意,将lineBreakMode设置为UILineBreakModelTailTruncation仅在达到9999点的高度后才会生效。在那之前,文本正常包装。
查看我的开源框架。它默认构建了许多可调整大小的单元格类型:https://github.com/andrewzimmer906/XCell
答案 2 :(得分:0)
请看这个Sample Code,它正是您正在寻找的。 p>