addGestureRecognizerを使用してscrollViewでキーボードを閉じると、collectionViewのdidSelectItemAtは機能しません。助言がありますか?collectionViewのdidSelectItemAtがUITapGestureRecognizerで使用するときに呼び出されない
更新コード:現在、キーボードを外してタップすると、コレクションセルで何かをすることができます。しかし、私がscrollViewをスワイプすると、キーボードは消えてしまいます。それを防ぐ方法はありますか?
class PostVC: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
@IBOutlet weak var colorCollectionView: UICollectionView!
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var titleTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let tapViewGesture = UITapGestureRecognizer(target: self, action: #selector(PostVC.didTapViewForDismissKeyboard))
scrollView.addGestureRecognizer(tapViewGesture)
tapViewGesture.delegate = self
}
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool{
view.endEditing(true)
return false
}
func didTapViewForDismissKeyboard(_ pressed: UIGestureRecognizer) {
view.endEditing(true)
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
print("HIHI")
}
extension PostVC: UIGestureRecognizerDelegate {
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
}
こんにちは。あなたの答えと@duncanの答えを組み合わせてください。私は本当に近いです。私のアップデート –
を参照してください。あなたがduncanの答えを使わず、shouldReceiveの実装がない場合でも起こりますか? –
私はduncanの答えを使用しない場合、collectionViewはまだ動作しません –