簡體   English   中英

UICollectionView didSelectedItemAt:第一次點擊單元格不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM