iPhone开发 - UITableViewCellStyleValue2

时间:2009-07-23 11:43:22

标签: iphone uitableview

  

注意:我正在使用iPhone SDK 3.0 Final   Leopard的版本。

我需要准备一个类似于iPhone相册应用程序使用的表格列表。 UITableViewCell有两种新样式:

  1. UITableViewCellStyleValue1
  2. UITableViewCellStyleValue2
  3. 我以为我可以使用这些而不是创建自定义单元格类,但看起来它们无法正常工作。我正面临UITableViewCellStyleValue2的以下问题:

    1. 我无法显示图像。
    2. 如果我更改textLabeldetailTextLabel的字体大小,则值不会对齐。
    3. 以下是示例代码:

      // Customize the appearance of table view cells.
      - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
      
          static NSString *CellIdentifier = @"Cell";
      
          UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
          if (cell == nil) {
              cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:CellIdentifier] autorelease];
          }
      
          // Configure the cell.
          cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
          cell.imageView.image = [UIImage imageNamed:@"Pointy.gif"];
      
          cell.textLabel.text = @"Label";
          cell.textLabel.textColor = [UIColor redColor];
          cell.textLabel.font = [UIFont systemFontOfSize:21];
      
          cell.detailTextLabel.text = @"(10)";
          cell.detailTextLabel.textColor = [UIColor grayColor];
          cell.detailTextLabel.font = [UIFont systemFontOfSize:17];
      
          return cell;
      }
      

      这段代码与UITableViewCellStyleDefaultUITableViewCellStyleSubtitle配合使用以显示图片。 UITableViewCellStyleValue2是否支持单元格图像属性?我看到空白区代替图像区域(单元格的左角)。我在这里做错了吗?

      如果这不起作用,我如何构建一个类似于UITableViewCellStyleValue2样式的自定义单元格类。我特别感兴趣的是让detailTextLabeltextLabel保持一致。

      满怀期待。

1 个答案:

答案 0 :(得分:2)

新的内置样式布局字段集,其配置与许多系统布局(如AddressBook中的单元格)相同。

至于具体的具体情况:

  1. UITableViewCellStyleValue2没有图片
  2. 内置样式布局逻辑假定字体指标是它们设置的内容。如果您更改这些字段将不会排队
  3. 您可以详细了解documentation中每种内置样式的可用内容。如果没有一个设置您的需求,您需要继承UITableViewCell,添加您自己的子视图,并在layoutSubviews中布局它们。 Apple有很多关于如何TableViewSuite的例子。