0
コレクションビューのセルでシングルタップを使用してcollectionView didSelectItemAt
の中にperformSegue
を呼び出しています。アプリが最初に起動されるときに、特にperformSegue
が遅れて、理由とユーザーがもう一度&をタップするとわからないことがあります。この場合、performSegue
が複数回呼び出され、新しいビューコントローラが何度も(タップ数)押し込まれます。この遅延の理由は何ですか?そうでない場合、私は次のように実装する必要があります:UICollectionViewは、複数のタップ/ didSelectItemAtの呼び出しを防止します。
var alreadyTapped = false
override func viewDidAppear(_ animated: Bool) {
alreadyTapped = false
}
override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if alreadyTapped { return }
alreadyTapped = true
performSegue(withIdentifier: Constants.Segue.DETAIL_VC, sender: collectionView.cellForItem(at: indexPath))
}
それともこれを解決する良い方法がある場合は?
は、メインスレッド上ですでに呼び出されている 'didSelectItemAt' ではないですか?、コードの下に試してみてくださいまた、それは私のために働かなかった。 –