u013595965
头马
2016-07-23 17:39
采纳率: 50%
浏览 1.2k
已采纳

前辈好,请教一个tableview的问题

我设置了一个分区,分区里面显示100行,如代码所示,我想只让第一行显示一个标题,于是利用indexPath.row进行判断是哪一行,但是运行程序后或出现一些错误,如图片,第一行确实是显示了”cell“,但是往下拉,发现第19行,第36行,第54行,还有几行也显示了这个”cell“,并且如果重新拉倒第一行,发现显示”cell“的行更乱了,请问是什么原因?不应该用indexPath.row进行判断吗?应该怎么判断?

  • (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    if(cell==nil)
    {
    cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
    }
    if(indexPath.row==0)
    {
    cell.textLabel.text=@"cell";
    }

    return cell;
    }
    ![![图片说明](https://img-ask.csdn.net/upload/201607/24/1469295578_22203.png)图片说明](https://img-ask.csdn.net/upload/201607/24/1469295563_729623.png)图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • it_kaka
    红魔-梦剧场 2016-07-24 03:33
    已采纳

    cell重用的问题,你在cellforrow的方法里,判断如果是第一个就显示text,再加上else,else就隐藏,就能达到你要的效果了。如果cell比较少,可以不重用,静态页面更好。

    点赞 评论
  • u013595965
    头马 2016-07-23 17:40

    图片说明

    点赞 评论
  • u013595965
    头马 2016-07-23 17:40

    图片说明

    点赞 评论
  • J_Kang
    J_Kang 2016-07-24 05:50

    cell的复用问题,把给text赋值写到if(cell==null)里面就可以了

    点赞 评论

相关推荐