uitableviewcell中的两个部分

时间:2012-10-29 19:07:35

标签: iphone ios xcode ipad

我想创建一个看起来像这样的应用程序。

enter image description here

有很多关于如何使uitableviewcell的高度变得动态的帖子,这对我来说不是问题。我的问题是他们如何将单元格分成两列不同的字体?是否有教程或示例如何在uitableview中实现一个?

2 个答案:

答案 0 :(得分:2)

它看起来像一个带有两个标签的自定义单元格。

以下是基本步骤:

  1. 为它创建一个新表和一个UITableViewController子类。 (我假设您知道如何执行此部分,因为您说您可以执行可变高度行。)
  2. 单击原型单元格并选择Attributes Inspector。
  3. 将您的标识符(重用标识符)设置为值。我们将其设置为“TwoLabelCell”
  4. 将两个标签拖到原型单元格上,然后将它们排列在您想要的位置。
  5. 将每个标签的字体设置为您希望的方式
  6. 将每个标签的标签设置为不同的值,以便日后识别。在这种情况下,让我们将左边的一个设置为1000,将右边的一个设置为1001。
  7. 在自定义类中,实现以下方法:

  8. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *CellIdentifier = @"TwoLabelCell";
        UITableViewCell *cell           = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        return cell;
    }
    
    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
    {
        UILabel *leftLabel  = (UILabel *)[cell viewWithTag:1000];
        UILabel *rightLabel = (UILabel *)[cell viewWithTag:1001];
    
        // Set the values based on the indexPath.  This is just an example.
        leftLabel.text      = @"409";
        rightLabel.text     = @"Vandals and Alans cross the Pyrenees and appear in Hispania.";
    }
    

    如果要与各行进行大量交互,则可能需要为每个标签创建子类并具有属性。 (即.e cell.yearLabel和cell.descriptionLabel)

答案 1 :(得分:0)

您好,您可以通过为自定义uitableviewcell添加两个标签来获取此信息,请参阅此链接Custom UITableViewCell Using Interface Builder