如何将两个以上的标签添加到原型单元格?

我已经通过下面的教程,它工作正常。 我的问题是如何添加两个以上的标准单元格到原型单元格?

http://thedarkdev.blogspot.co.uk/2013/09/web-service-apps-in-ios7-json-with.html

cell.textLabel.text =“标题文本”; cell.detailTextLabel.text =“详细文字”

我想添加另外4个标签,并希望使用故事板进行布局。

任何想法如何做到这一点?

您可以使用自定义单元格types,并且可以根据需要添加任意数量的标签:

  1. 创build一个空的UITableViewCell子类,你将使用这个单元格。 请注意,这个子类在@implementation不需要任何代码。 我们只会为其属性添加sockets,这些sockets将显示在其@interface ,但故事板无需为单元自己编写任何代码。

  2. 回到界面生成器,转到故事板中的表格视图,确保它有一个单元格原型。 (如果它不从对象库拖动到表视图。)

    • 在右边的“Identity”检查器面板上,将单元格原型的基类设置为您的UITableViewCell子类作为单元原型的“基类”;

    • 在单元格的故事板的“属性”检查器中,将单元格“Storyboard identifier”设置为步骤5中引用的内容(我在此使用了CustomCell )。

    • 将单元格“样式”设置为“自定义”而不是“基本”或“详细”:

      习惯

    • 将您的标签添加到单元格。

    我在这里添加了标签到一个单一的原型单元格:

    在这里输入图像说明

  3. 使用“助理编辑器”与故事板同时显示您的代码。 select添加到场景中的一个标签,将下面的代码更改为在步骤1中创build的UITableViewCell子类,然后现在可以控制标签中的-drag以将标签的IBOutlet引用创build为单元格的自定义子类:

    在这里输入图像说明

    顺便说一下,我build议不要使用textLabeldetailTextLabel IBOutlet名称(不仅它们太泛化,而且会与标准单元textLabel detailTextLabel中出现的标签混淆)。

  4. 现在你的tableview控制器可以引用这个子类:

     - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellIdentifier = @"Cell"; // make sure this matches the "Identifier" in the storyboard for that prototype cell CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath]; // retrieve the model data to be shown in this cell // now fill in the four labels: cell.firstNameLabel.text = ...; cell.lastNameLabel.text = ...; cell.emailLabel.text = ...; cell.telephoneLabel.text = ...; return cell; } 

因此,虽然有几个步骤可以通过这里,但最终的结果是您可以devise任何您想要的单元格布局,使用这个非常简单的UITableViewCell子类,您的cellForRowAtIndexPath非常简单,只需引用您在Interface中连接的IBOutlet引用生成器。