[英]UICollectionView didSelectedItemAt : first click on cell doesn't work
就像標題中所寫的那樣,didSelectedItemAt 是有問題的,但這比標題中的要復雜一些,我解釋說:
我嘗試編寫一個列出一些東西的應用程序。 所以我有一個 ViewController,里面有一個 TableView 和一個 CollectionView。 一開始,tableview 的 hidden 是 false,collectionview 的是 true。 我在導航欄上有一個按鈕可以切換 CollectionView / TableView hidden true/false(我希望我的英語不好可以理解。),所以 didSelectedRowAt 運行良好。 但 didSelectedItemAt 不是,當我第一次點擊一個單元格時,沒有任何反應(至少在屏幕上)。 但是第二次點擊是有效的.....使用第一次點擊的索引路徑...我不明白為什么會這樣。
有誰知道為什么?
這是應用程序的一些代碼:
func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath) {
print (dogs[indexPath.row].name)
let vc = storyboard?.instantiateViewController(withIdentifier: "DogDetailsView") as? DogDetailsView
vc?.nameSend = dogs[indexPath.row].name
vc?.infoSend = dogs[indexPath.row].info
self.navigationController?.pushViewController(vc!, animated: true)
}
謝謝你的幫忙
您使用了錯誤的委托方法。 使用以下
- (void)collectionView:(UICollectionView *)collectionView
didSelectItemAtIndexPath:(NSIndexPath *)indexPath;
你的didDeselect
在第二次點擊后工作的原因是,你已經打開了allowMultilpleSelection
並且每當你第一次點擊那個單元格時它就會被選中,但是你沒有實現正確的委托來聽到它。 當您再次點擊時,該單元格現在已取消選擇。 這就是為什么您以這種方式在實現的方法中獲得回調。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.