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
您可以使用自定义单元格类型,并且可以根据需要添加任意数量的标签:
创建一个UITableViewCell您将用于此单元格的空子类.注意,这个子类不需要其中的任何代码@implementation.我们只会为其属性添加插件,并且会在其中显示这些插件@interface,但故事板不需要为单元编写任何代码本身.
回到Interface Builder,转到故事板中的表格视图,确保它有一个单元格原型.(如果它没有将对象库中的一个拖到表视图上.)
在右侧的"Identity"检查器面板上,将单元原型的基类设置为您的UITableViewCell子类,作为单元原型的"基类";
在故事板的单元格的"属性"检查器中,将单元格"故事板标识符"设置为您将在步骤5中引用的内容(我在CustomCell这里使用过);
将单元格"Style"设置为"Custom"而不是"Basic"或"Detailed":

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

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

顺便说一句,我建议不要使用或的IBOutlet名称(不仅它们太通用了,而且它可能会与标准单元格布局中出现的标签混淆).textLabeldetailTextLabel
现在你的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中连接的引用,这非常简单.
| 归档时间: |
|
| 查看次数: |
3683 次 |
| 最近记录: |