一旦我使用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答案。我非常接近。請參閱我的更新 –
這是否發生,即使你不使用鄧肯的答案,並且沒有shouldReceive實現? –
如果我不使用鄧肯的答案,collectionView仍然不起作用 –