我有一個viewController其中包含一個UICollectionView其中我已經實現了兩個委託方法shouldSelectItemAtIndexPath和didSelectItemAtIndexPath。 shouldSelect方法按預期工作,並針對所選的每個單元進行調用。奇怪的行爲與UICollectionViewDelegate
即使點擊了多次,didSelect方法也不會在被點擊的第一個單元上調用。但是,如果您點擊第二個單元格,則會調用didSelect方法,但是indexPath.item值用於以前點擊的單元格。
例如,我點擊collectionView中的第一個單元格,並調用shouldSelect,它的indexPath.item值= 0。即使對於單元格上的多個水龍頭,也不調用DidSelect。
如果我然後點擊任何其他單元格,例如說,collectionView中的第4個單元格,shouldSelect被調用,並且其indexPath.item值= 3。didSelect也被調用,但它的indexPath.item值= 0(先前選擇的單元格)。
如果我繼續選擇不同的單元格,didSelect會繼續被調用,但indexPath.item值始終用於先前選擇的項目。如果我點擊一個單元格多次,didSelect將無法被調用,直到我點擊一個不同的單元格。
有人嗎?我很難過。所有其他數據源和委託方法似乎工作正常。委託和數據源在故事板中正確連線。
神聖的廢話,這可能只是爲我節省了很多時間。我懷疑我曾經見過。 – Jesse