为什么获得高度的代理方法中第二个参数传递indexPath.item

为什么获得高度的代理方法中第二个参数传递indexPath.item

对于MyCollectionViewLayout.m中获得高度的代理方法,如下:

CGFloat h = [self.delegate getCellHeight:width index:(int)indexPath.item];

为什么第二个参数传递indexPath.item而千万不能用indexPath.row?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
Tender10 2017-10-10 10:10:24

因为高度是根据item来计算的,每个单元是一个item,计算的高度也应该是item的高度啊。

  • lsyyyy #1
    那是不是在UICollectionView案例里面用indexPath.row的都可以用indexPath.item来代替啊
    2018-09-26 15:58:11
  • Tender10 回复 lsyyyy #2
    并不是这样的哦,因为瀑布流每一个单元的高度都是不确定的,所以想要知道高度,是需要知道每一个item的。
    2018-09-26 16:44:16
  • lsyyyy 回复 Tender10 #3
    老师我不是这个意思,我是说可不可以就不写indexPath.row了,全都改成indexPath.item
    2018-09-28 13:04:50
Tender10 2017-10-09 17:56:20

注意这个是UICollectionView,每个单元是一个item,而UITableView是行row,这个需要区分一下。

  • 提问者 慕粉3506778 #1
    那为什么第4章瀑布流布局的整个代码中,其他好几个地方都使用indexPath.row,唯独这个代理方法中使用indexPath.item?
    2017-10-09 19:37:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS进阶:界面优化与数据存储
  • 参与学习       516    人
  • 提交作业       158    份
  • 解答问题       637    个

本路径采用基础+案例方式,助你解开对界面优化、数据储存、屏幕适配的疑惑。6小时团购项目实战加最新版本Swift讲解,让你掌握更多iOS开发技巧。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师