在UITableView中有两个自定义单元格

时间:2015-03-27 00:15:38

标签: ios objective-c uitableview tableview cells

我想知道是否可以在一个UITableView中设置2个自定义单元格?

因为我希望在一个视图中有两种不同类型的单元格:第一行将是大的(屏幕截图上有白色背景),然后是简单的行(屏幕截图上带有红色背景)。

告诉我这是否可能,以及如何制作:)

我让你看看我想做什么:

http://www.noelshack.com/2015-13-1427415385-sans-titre.png

或者可能把UIView用于大标签,并在表格单元格之后?

1 个答案:

答案 0 :(得分:0)

有两种方法,假设大屏幕截图仅在第一行。您可以设置表格视图的属性

tableView.tableHeaderView = myHugeImage;

否则,如果使用nib和自定义类设计2行,则需要在viewDidLoad中调用以下内容。请注意,自定义类必须是UITableViewCell的子类

[tableView registerNib:[UINib nibWithNibName:@"bigrow" bundle:nil] forCellReuseIdentifier:@"big"]
[tableView registerNib:[UINib nibWithNibName:@"normal row" bundle:nil] forCellReuseIdentifier:@"normal"]

如果您使用了类而没有nib,那么您将使用registerClass:forCellReuseIdentifier 如果您使用类并直接在原型单元格内设计单元格,那么这些调用都不是必需的。

最后,在tableView:cellForRowAtIndexPath:

if (indexPath.row == 0) {
    BigRowCell *c = [tableView dequeueReusableCellWithIdentifier:@"big" forIndexPath:indexPath];
    return c;
}
SmallRowCell *c = [tableView dequeueReusableCellWithIdentifier:@"normal" forIndexPath:indexPath];
return c;