私はUITableView
3 種類のカスタム セルからロードしている iphone アプリケーションを持っています。さまざまな要素が含まれています。今、私はセルのメッセージコンテンツを取得し、そのサイズを見つけて定数を追加することでそれを行っています.しかし、メッセージが非常に大きい場合、コンテンツはセルの外側の部分に表示されます.私はこのようにしています `
-(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;
}
}
}
` 正しいアプローチを見つけるのを手伝ってくれる人はいますか?