我有一个iphone应用程序,我从3种类型的自定义单元格中加载UITableView
。其中包含不同的不同元素。现在我通过获取单元格的msg内容并找到它的大小并添加一个常量来实现它。但是当消息非常大时,内容显示在单元格的外部。我正在这样做`< / p>
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{ if(sarray==nil||[sarray count]==0)
{
}
else
{
NSMutableDictionary *dicttable=[sarray objectAtIndex:indexPath.section];
NSString *stri=[dicttable objectForKey:@"message"];
NSString *type1=[dicttable objectForKey:@"type"];
NSString *imagepath1=[dicttable objectForKey:@"image_path"];
if([type1 isEqualToString:@"m"])
{
if([imagepath1 isEqualToString:@"NA"])
{
UIFont *cellFont = [UIFont fontWithName:@"Helvetica Neue" size:15.0];
CGSize size1 = [stri sizeWithFont:cellFont constrainedToSize:CGSizeMake(300.0f, 130.0f) lineBreakMode:UILineBreakModeWordWrap];
NSLog(@"%f",size1.height);
return size1.height+75;
}
else
{
UIFont *cellFont = [UIFont fontWithName:@"Helvetica Neue" size:15.0];
CGSize size1 = [stri sizeWithFont:cellFont constrainedToSize:CGSizeMake(300.0f, 130.0f) lineBreakMode:UILineBreakModeWordWrap];
NSLog(@"%f",size1.height);
return size1.height+300;
}
}
else
{
UIFont *cellFont = [UIFont fontWithName:@"Helvetica Neue" size:15.0];
CGSize size1 = [stri sizeWithFont:cellFont constrainedToSize:CGSizeMake(300.0f, 130.0f) lineBreakMode:UILineBreakModeWordWrap];
NSLog(@"%f",size1.height);
return size1.height+300;
}
}
}
`任何人都可以帮我找到正确的方法吗?
答案 0 :(得分:2)
在constrainedToSize:
中,您将其设为130.将其设为更大的值,例如1000.0f并尝试。