gpt4 book ai didi

iphone - 从自定义表格 View 单元格类加载时如何调整单元格的高度?

转载 作者:行者123 更新时间:2023-12-01 16:53:25 25 4
gpt4 key购买 nike

我有一个应用程序,我在两种设计中添加了两种类型的单元格。所以我使用自定义 UITableViewCell对象类。但我的问题是我在这个单元格中使用 TextView 。我需要根据其内容大小调整行高。这就是我的代码的样子:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier1 = @"CellIdentifier";
    static NSString *CellIdentifier2 = @"Cell";
        
    if(messagesarray==nil||[messagesarray count]==0)
    {
        
    }
   else
    {
       NSMutableDictionary *dicttable=[messagesarray objectAtIndex:indexPath.row];
        NSString *head=[dicttable objectForKey:@"gfgfg"];
        NSString *head1=[dicttable objectForKey:@"gfgfgf"];
       if([type isEqualToString:@"m"])    
        {
       if([head isEqualToString:@"NA"])
          {
             
              CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier1];
             if (cell == nil)
            {
            cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier1] autorelease];
            cell.backgroundView = [ [[UIImageView alloc] initWithImage:[ [UIImage imageNamed:@"white_top_portion.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0] ]autorelease];
            }
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        cell.nameLabel.text=head;
        cell.msg.text=head1;
        [cell.button addTarget:self action:@selector(callAction:) forControlEvents:UIControlEventTouchUpInside];     
              
              if(icon!=nil)
              {
                  if(![[ImageCache sharedImageCache] hasImageWithKey:icon])
                    {
  cell.myImageView.image = [UIImage imageNamed:@"fggtgf.png"];
                      NSArray *myArray = [NSArray arrayWithObjects:cell.myImageView,icon,@"fgfgfg.png",[NSNumber numberWithBool:NO],nil];
                      AppDelegate *appDelegate = (AppDelegate  *)[[UIApplication sharedApplication] delegate];
                      [appDelegate performSelectorInBackground:@selector(updateImageViewInBackground:) withObject:myArray];   
                    }
                  else 
                  {
                      cell.myImageView.image = [[ImageCache sharedImageCache] getImagefromCacheOrUrl:icon];
                    }
              }
              else
              {
                  cell.myImageView.image = [UIImage imageNamed:@"fgfgfg.png"];  
                  
              } 
         
        cell.label.text=sub;   
         return cell;
          }
         else
         {
            Customcellwithimage *cell = (Customcellwithimage *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier2];
             
             if (cell == nil)
             {
                 cell = [[[Customcellwithimage alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier2] autorelease];
                 cell.backgroundView = [ [[UIImageView alloc] initWithImage:[ [UIImage imageNamed:@"white_deal_bg.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0] ]autorelease];
             }
             
             cell.selectionStyle = UITableViewCellSelectionStyleNone;
             cell.datelabel1.text=subtitle;
              cell.nameLabel1.text=head;
             cell.msg1.text=head1;
             if(icon!=nil)
             {
                 if(![[ImageCache sharedImageCache] hasImageWithKey:icon])
                  {
cell.myImageView1.image = [UIImage imageNamed:@"fgfgfgf.png"];
                     NSArray *myArray = [NSArray arrayWithObjects:cell.myImageView1,icon,@"fgfgfgf.png",[NSNumber numberWithBool:NO],nil];
                     MFAppDelegate *appDelegate = (MFAppDelegate  *)[[UIApplication sharedApplication] delegate];
                     [appDelegate performSelectorInBackground:@selector(updateImageViewInBackground:) withObject:myArray];   
                     
                 }
                 else 
                 {
                     cell.myImageView1.image = [[ImageCache sharedImageCache] getImagefromCacheOrUrl:icon];
                  }
             }
             else
             {
                 cell.myImageView1.image = [UIImage imageNamed:@"fgfgfgf.png"];  
             } 
              
             cell.cellview1.image=[UIImage imageNamed:@"vf.png"];
cell.label1.text=sub;
[cell.button1 addTarget:self action:@selector(callAction:) forControlEvents:UIControlEventTouchUpInside]; 
              cell.bannerview1.image=[UIImage imageNamed:@"vfgf.png"];
              return cell;
}
        }              
    }  
}
       

任何人都可以帮助我实现不同单元格的不同行高吗?我必须找出 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 中的高度我尝试了一种方法需要找出当前行的单元格对象。但没有成功。任何人都可以指导我正确的方向

最佳答案

我想你正在寻找 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath - 在这里您可以计算每一行的高度。

请注意,如果计算工作量很大,您可能会看到性能下降。如果是这种情况,您可以预先计算值并存储它们。

关于iphone - 从自定义表格 View 单元格类加载时如何调整单元格的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13835063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com