场景=我有一个tableView,它将由一个数据阵列加载(来自互联网,所以我可以' t"硬编码"这个)。将有两个不同的tableView单元格,我想在两种类型之间交替进行。 " CELL A"右侧有文字,左侧有图片," CELL B"将在左侧显示文本,在右侧显示图片。下面我将说明所需的结果(并不意味着"代码"仅用于说明tableView中从单元格到单元格的交替)。
tableView =
[0]indexPath.row = "CELL A"
[1]indexPath.row = "CELL B"
[2]indexPath.row = "CELL A"
[3]indexPath.row = "CELL B"
[4]indexPath.row = "CELL A"
[5]indexPath.row = "CELL B"
问题=我不知道如何为两种不同类型的单元格dequeueForReuseIdentifier。
请求=任何人都可以帮助我使用此代码,或者至少指出我正确的方向,或者这是否可能?
谢谢你们!
答案 0 :(得分:2)
实际上这很简单。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row % 2 == 0) {
// setup and return table cell type A
} else {
// setup and return table cell type B
}
}
答案 1 :(得分:1)
在你的故事板中,你应该有一个包含两个原型单元格的tableview(一个用于单元格A,另一个用于单元格B)。为每个单元格设置标识符(例如cellAIdentifier
和cellBIdentifier
)。
您还必须为CellA和CellB创建UITableViewCell的子类。然后在原型单元格中创建用户界面,并将IBOutlets连接到UITableViewcell的子类。假设您使用名为label
的IBOutlet和另一个名为imageView
的IBOutlet。
之后,你可以使用rmaddy回答:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell * cell;
if (indexPath.row % 2 == 0) {
cell = [tableview dequeueReusableCellWithIdentifier:@"cellAIdentifier"];
} else {
cell = [tableview dequeueReusableCellWithIdentifier:@"cellBIdentifier"];
}
label.text = @"your text, which should be taken from your model".
imageView.image = [UIImage imageNamed:@"yourImageName"];
return cell;
}
祝你好运!