UITableView 中的两个自定义单元格
Posted
技术标签:
【中文标题】UITableView 中的两个自定义单元格【英文标题】:Two customize cells in UITableView 【发布时间】:2015-03-27 00:15:38 【问题描述】:我想知道是否可以在一个 UITableView
中包含 2 个自定义单元格?
因为我想在一个视图中有两种不同类型的单元格:第一行会很大(屏幕截图上有白色背景),然后是简单行(屏幕截图上有红色背景)。
告诉我这是否可能,以及如何做到这一点:)
我让你看看我想做什么:
http://www.noelshack.com/2015-13-1427415385-sans-titre.png
或者也许在表格单元格之后放置一个 UIView 用于大标签?
【问题讨论】:
您可以在同一个表格视图中拥有数千个不同的自定义单元格。 @rmaddy 真的吗?你可以选择他们的细胞大小吗?所以可以实现我的截图吗? 当然。阅读文档中的“ios 表视图编程指南”。 然后some searching。 【参考方案1】:有两种方法,假设大屏幕截图只在第一行。您可以设置表格视图的属性
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;
【讨论】:
以上是关于UITableView 中的两个自定义单元格的主要内容,如果未能解决你的问题,请参考以下文章
一个 UIViewController 中的自定义单元格 tableview 和默认 UITableView