我正在研究RSS Feed,我正在调整TableViewCell的大小以适应标题/描述信息,我希望Cell能够显示所有文本而不是将其剪掉......有没有人知道这样做的好方法或知道一个好的教程?
感谢。
答案 0 :(得分:1)
您需要计算包含Feed项数据的单元格的高度,并在表格在tableView:heightForRowAtIndexPath:中请求时将其返回。
此外,您需要说UILabel
不截断您的文字。为此,请查看Sizing the Label’s Text
答案 1 :(得分:0)
您应该为此设置自定义UITableViewCell。然后在.xib文件中设置正确的自动调整大小参数 然后,在您的单元格.m文件中,您应该以这种方式实现layoutSubviews方法
- (void) layoutSubviews
{
[super layoutSubviews];
CGRect newFrame = rssLabel.frame;
CGSize maximumLabelSize = CGSizeMake(rssLabel.frame.size.width,9999);
CGSize expectedLabelSize = [rssLabel.text sizeWithFont:tweetLabel.font constrainedToSize:maximumLabelSize lineBreakMode:rssLabel.lineBreakMode];
int height = expectedLabelSize.height;
newFrame.size.height = height;
rssLabel.frame = newFrame;
}
当然,我忘了说你应该计算你行的高度
答案 2 :(得分:0)
最好的方法是继承UITableViewCell
。在这个类中实现一个类方法来返回你的单元格高度。在tableview的委托方法tableView:heightForRowAtIndexPath:
中调用此方法并将您的文本传递给它。使用NSString's
sizeWithFont
constrainedToSize
lineBreakMode
:方法和煅烧高度。将你的标签的属性noOfLines
设置为0.你很高兴。
例如: -
+(CGFloat)heightForText:(NSString *)value{
CGSize size = [value sizeWithFont:[UIFont systemFontOfSize:13] constrainedToSize:CGSizeMake(320, MAXFLOAT)];
if(size.height<MINIMUM_CELL_HEIGHT){
return MINIMUM_CELL_HEIGHT;
}else{
return size.height;
}
}