3

我有一个 iphone 应用程序,我在其中加载了UITableView3 种类型的自定义单元格。其中包含不同的不同元素。现在我通过获取单元格的味精内容并找到它的大小并添加一个常数来做到这一点。但是当消息非常大时,内容会显示在单元格的外部。我正在这样做`

-(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;   
          }
     }
}

` 任何人都可以帮助我找到正确的方法吗?

4

1 回答 1

2

在 中constrainedToSize:,您将其设为 130。将其设为更大的值,例如 1000.0f 并尝试。

于 2013-01-09T07:49:23.790 回答