Ios 获取对UIcollectionview中特定单元格的引用

Ios 获取对UIcollectionview中特定单元格的引用,ios,objective-c,Ios,Objective C,我试图获取集合视图中第一个单元格的引用,以便移动它(为了某种效果) 首先,能否移动集合中的某个单元格 第二,我现在如何检查它是否在可见矩形上?(电池可重复使用) 错误:执行此操作时,将索引路径设置为非零时也会出现错误 “在ARC中不允许int的隐式转换” 当它设置为0时,我总是得到0的位置,即使单元格在屏幕外 我想我错过了获取第一个单元格的正确方法。您应该创建一个NSIndexPath实例,以使用cellForItemAtIndexPath 示例 -(void)scrollViewDidScro

我试图获取集合视图中第一个单元格的引用,以便移动它(为了某种效果)

首先,能否移动集合中的某个单元格

第二,我现在如何检查它是否在可见矩形上?(电池可重复使用)

错误:执行此操作时,将索引路径设置为非零时也会出现错误

“在ARC中不允许int的隐式转换”

当它设置为0时,我总是得到0的位置,即使单元格在屏幕外


我想我错过了获取第一个单元格的正确方法。

您应该创建一个NSIndexPath实例,以使用
cellForItemAtIndexPath

示例

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSIndexPath *indexPath = [NSIndexPath indexPathForItem:4 inSection:0];
    UICollectionViewCell *cell = [self.collectionView cellForItemAtIndexPath:indexPath];
    CGRect cellRect = cell.frame;
}

Swift 3版本代码:基于卢卡·巴托莱蒂的回答

func scrollViewDidScroll(scrollView: UIScrollView) {

    let indexPath = IndexPath(item: 4, section: 0)
    var cell = self.collectionView.cellForItem(at: indexPath)
    var cellRect = cell.frame
}

你能举个例子吗?
func scrollViewDidScroll(scrollView: UIScrollView) {

    let indexPath = IndexPath(item: 4, section: 0)
    var cell = self.collectionView.cellForItem(at: indexPath)
    var cellRect = cell.frame
}