我有一个collectionView。我设置了它的dataSource和委托方法,当用户第一次进行选择时,我调用func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { }
。
如果用户离开视图控制器并回到视图控制器,则我在viewWillAppear中调用以下方法,以编程方式强制选择单元格并滚动回到最初选择的单元格。
let whateverCellWasChosen = 29
let indexPath = IndexPath(item: whateverCellWasChosen, section: 0)
collectionView.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: false)
collectionView.selectItem(at: indexPath, animated: false, scrollPosition: .centeredHorizontally)
// problem is here
collectionView(self.collectionView, didSelectItemAt: indexPath)
但是当尝试调用didSelectItem的手动版本时,我总是收到以下错误:
无法调用非函数类型'UICollectionView'的值
该错误源于接受collectionView的第一个参数。为什么给我一个问题?
答案 0 :(得分:0)
使用
collectionView.delegate?.collectionView!(collectionView, didSelectItemAt: indexPath)