Board logo

标题: ios xib注册cell的坑 [打印本页]

作者: look_w    时间: 2019-3-3 19:00     标题: ios xib注册cell的坑

本文来源于作者实际开发中的经验,分享出来,希望能给被同样问题困扰的同道带来帮助;
使用xib注册cell,有时需要动态改变cell的高度,但是如果你如下代码进行操作,xcode可能就会报一些奇怪的错误;
为tableView注册cell:

[tableView registerNib:[UINib nibWithNibName"xxxCell" bundle:nil] forCellReuseIdentifier"cell"];

在代理cellForRowAtIndexPathNSIndexPath *)indexPath中对cell进行复用设置;
错误示例:

xxxCell *cell = [tableView dequeueReusableCellWithIdentifier"cell" forIndexPath:indexPath];

上述复用cell时,加了forIndexPath:indexPath调用下列代理时就会有问题:

    -(CGFloat)tableViewUITableView *)tableView heightForRowAtIndexPathNSIndexPath *)indexPath{
        UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];
        return cell.frame.size.height;
      }

正确示例:

xxxCell *cell = [tableView dequeueReusableCellWithIdentifier"cell"];

这样代理方法heightForRowAtIndexPathNSIndexPath *)indexPath可以正常发挥作用,编译也不会报错;




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0