iPhone5 UICollectionView.visibleCells索引问题

时间:2016-11-13 21:11:38

标签: swift uicollectionview uicollectionviewcell ios10 iphone-5

我特意遇到iPhone 5的问题。在我的UICollectionView didSelectItemAt函数中,我有一个代码片段遍历所有可见的单元格,并在第一个单元格中停留,其中{0}为imageView.image

for cell in heroPickerCollectionView.visibleCells {

    let customIndex = heroPickerCollectionView.indexPath(for: cell)
    let nilCell = heroPickerCollectionView.cellForItem(at: customIndex!) as! HeroPickerCell

    if nilCell.imageView.image == nil {
        selectedHeroArray.insert(heroData.heroes[(indexPath as NSIndexPath).row], at: (customIndex! as NSIndexPath).row)
        nilCell.imageView.image = UIImage(named: heroData.heroes[(indexPath as NSIndexPath).row].imageName!)
        checkForHeroes()
        break
    }
}

这适用于除iPhone 5以外的所有设备。在iPhone 5上,customIndex始终以0, 3而不是0, 0开始(应该如此)。显然这会崩溃,因为它试图在超出范围的索引处插入。

我完全不知道这个。 heroPickerCollectionView.visibleCells.count在iPhone 5上返回正确的计数,但索引已关闭。

0 个答案:

没有答案