如何在原型单元中添加两个以上的标签?

tau*_*tau 4 uitableview ios xcode5

我已经完成了下面的教程,它运行正常.我的问题是如何在原型单元格中添加两个以上的标准单元?

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

cell.textLabel.text ="标题文字"; cell.detailTextLabel.text ="详细文字"

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

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

Rob*_*Rob 13

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

  1. 创建一个UITableViewCell您将用于此单元格的空子类.注意,这个子类不需要其中的任何代码@implementation.我们只会为其属性添加插件,并且会在其中显示这些插件@interface,但故事板不需要为单元编写任何代码本身.

  2. 回到Interface Builder,转到故事板中的表格视图,确保它有一个单元格原型.(如果它没有将对象库中的一个拖到表视图上.)

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

    • 在故事板的单元格的"属性"检查器中,将单元格"故事板标识符"设置为您将在步骤5中引用的内容(我在CustomCell这里使用过);

    • 将单元格"Style"设置为"Custom"而不是"Basic"或"Detailed":

      习惯

    • 将标签添加到单元格.


    我在这里为单个原型单元添加了标签:

    在此输入图像描述

  3. 使用"Assistant Editor"可以与故事板同时显示代码.选择您添加到场景中的其中一个标签,将下面的代码更改为UITableViewCell您在步骤1中创建的子类,现在control可以从标签中删除以创建IBOutlet标签对单元格自定义子类的引用:

    在此输入图像描述

    顺便说一句,我建议不要使用或的IBOutlet名称(不仅它们太通用了,而且它可能会与标准单元格布局中出现的标签混淆).textLabeldetailTextLabel

  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;
    }
    
    Run Code Online (Sandbox Code Playgroud)

因此,虽然这里有几个步骤,但最终的结果是您可以设计所需的任何单元格布局,并且使用这个非常简单的UITableViewCell子类,您cellForRowAtIndexPath只需IBOutlet引用您在Interface Builder中连接的引用,这非常简单.