标题:
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"];
在代理cellForRowAtIndexPath
NSIndexPath *)indexPath中对cell进行复用设置;
错误示例:
xxxCell *cell = [tableView dequeueReusableCellWithIdentifier
"cell" forIndexPath:indexPath];
上述复用cell时,加了forIndexPath:indexPath调用下列代理时就会有问题:
-(CGFloat)tableView
UITableView *)tableView heightForRowAtIndexPath
NSIndexPath *)indexPath{
UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];
return cell.frame.size.height;
}
正确示例:
xxxCell *cell = [tableView dequeueReusableCellWithIdentifier
"cell"];
这样代理方法heightForRowAtIndexPath
NSIndexPath *)indexPath可以正常发挥作用,编译也不会报错;
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0