ios – 具有多个原型单元格的TableView

前端之家收集整理的这篇文章主要介绍了ios – 具有多个原型单元格的TableView前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的问题,关于表视图与3种不同种类的原型单元格.前两次只发生一次,而第三次发生4次.现在我很困惑的是如何在我的cellforRowatindexpath中指定哪个单元格原型用于哪一行.所以,我想要像第0行一样,使用原型1,第1行,使用原型2,行3,4,5和6使用原型3.最好的方法是什么?我给每个原型一个标识符,然后使用dequeueReusableCellWithIdentifier:CellIdentifier?
你能提供一些示例代码吗?

编辑:

还是行不通.这是我现在的代码. (我只有一个案例用于开关状态,因为我只想测试并看看单元格是否在第一行生成,但当前的表视图为空)

  1. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  2. {
  3. switch(indexPath.row)
  4. {
  5. case 0: {static NSString *CellIdentifier = @"ACell";
  6. UITableViewCell *cell = [tableView
  7. dequeueReusableCellWithIdentifier:@"ACell"];
  8. if(cell==nil) {
  9. cell=[[UITableViewCell alloc]
  10. initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:@"ACell"];
  11.  
  12. }
  13. return cell;
  14. break;
  15. }
  16. }
  17. }

Acell是我创建的单元格原型的标识符.一世

解决方法

如果您使用三个原型,则使用三个标识符.因为只有一个标识符会导致问题.你会得到错误的结果.所以这样的代码.
  1. if(indexPath.row==0){
  2. // Create first cell
  3. }
  4.  
  5. if(indexPath.row==1){
  6. // Create second cell
  7. }
  8.  
  9. else{
  10. // Create all others
  11. }

您也可以在这里使用开关盒,以获得最佳性能.

猜你在找的iOS相关文章