即时制作iphone应用程序,以便detailTextlabel中的任何文本都适合
例如......如果detailTextLabel很短,它将显示正常大小的单元格,但如果很长,它将显示更大的单元格
谢谢你:D答案 0 :(得分:2)
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
CGSize maxSize = CGSizeMake(max_size);
CGSize cellSize = [yourString
sizeWithFont:[UIFont systemFontOfSize:15]
constrainedToSize:maxSize
lineBreakMode:UILineBreakModeWordWrap];
return cellSize.height;
}
答案 1 :(得分:1)
考虑我的实施:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
switch (theSection) {
case 0:
if (indexPath.row ==6) //the row you need to check for height (if any)
{
if([yourString length]<=35) // if less than 35 chars, just return a basic size of 50
{
return 50;
}
CGSize detailSize = [yourString sizeWithFont:[UIFont systemFontOfSize:20]constrainedToSize:CGSizeMake(270, 4000)lineBreakMode:UILineBreakModeWordWrap];
return detailSize.height;
}
希望它有所帮助,为了帮助您理解,您可能需要查看'sizeWithFont'来了解这是为了返回大小。
答案 2 :(得分:0)
您必须在UITableViewDelegate上使用tableView:heightForRowAtIndexPath:
方法返回行的高度。请注意,如果您有多行,则此方法应该非常快,因为它将针对表中的每一行而不仅仅是可见行进行调用。