UITableViewCell的高度不同

时间:2011-01-03 04:08:13

标签: ios4 uitableview

我正在尝试使用不同高度的UITableViewCell填充UITableView。我在

中返回正确的尺寸
  • (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

看起来框架在某种程度上正在使用单元格的高度,但是出列的单元格仍然具有相同的大小。

我也试过在单个单元格上使用setFrame:但这仍然没有任何效果。我错过了什么

例如

    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
 {
    if (condition 1)
      return 60;
    else if (condition 2)
      return 100;
    return 44;
}

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
    {
static NSString *CellIdentifier = @"TableViewCell";


    TableViewCell *cell = (TableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    {
        cell = [[[TableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];   
    }

   return cell;
}

1 个答案:

答案 0 :(得分:2)

所以,这是交易。在TableViewCell的实现中,我创建了复杂的布局。错误的是我有一个UILabel [self addSubview:],而不是[self.contentView addSubView:]这是罪魁祸首。