[解決済み】UITapGestureRecognizerがUITableViewのdidSelectRowAtIndexPathを破る
2022-04-06 15:09:48
質問
キーボードが表示されたときにテキストフィールドを上にスクロールさせる機能を自作しています。テキストフィールドから離れた場所でタップしてキーボードを解除するために
UITapGestureRecognizer
で、タップしたときにテキストフィールドのファーストレスポンダを辞任させる処理を行います。
今度は、テキストフィールドのオートコンプリートで
UITableView
のすぐ下にあり、ユーザーがテキストを入力すると、そこに項目が入力されます。
しかし、自動完成したテーブルの中の項目を一つ選択すると
didSelectRowAtIndexPath
が呼び出されない。代わりに、タップジェスチャーの認識装置が呼び出され、ファーストレスポンダーを辞任しているだけのようです。
タップジェスチャーレコグナイザーにタップメッセージを渡し続けるように指示する方法があると思います。
UITableView
しかし、それが何なのかがわかりません。何か助けがあれば、とてもありがたいです。
解決方法は?
ジェスチャー認識ソフトのドキュメントを検索して、ようやく見つけました。
解決策は
UIGestureRecognizerDelegate
を追加し、以下のようにしました。
#pragma mark UIGestureRecognizerDelegate methods
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if ([touch.view isDescendantOfView:autocompleteTableView]) {
// Don't let selections of auto-complete entries fire the
// gesture recognizer
return NO;
}
return YES;
}
これで対処できました。これが他の人にも役立つといいのですが。
関連
-
[解決済み] Argument passed to call that takes no arguments "エラーを修正するには?
-
[解決済み] Xcode 9の問題を修正しました。"iPhoneはビジー状態です。iPhoneのデバッガーサポートを準備中"
-
[解決済み] キャッチできない例外 'NSInvalidArgumentException', reason: '-[_.AppDelegate add:]: unrecognized selector' により、アプリを終了する。
-
[解決済み] UICollectionView: 非Nilのレイアウトパラメータで初期化する必要があります。
-
[解決済み] selector' の引数が '@objc' メソッド、プロパティ、またはイニシャライザを参照していない
-
[解決済み] なぜSwiftでUIViewControllerのデフォルトのsuper.init()を呼び出すことができないのでしょうか?
-
[解決済み] CFBundleVersionとCFBundleShortVersionStringには、どのような値を使用すればよいですか?
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] UITableViewの下にある余分なセパレータをなくす
-
[解決済み】Swiftでキーボードからビューを移動する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Xcode - 'NSUnknownKeyException', reason: ... this class is not key value coding-compliant for the key X" エラーの修正方法とは?
-
[解決済み】arm64アーキテクチャの未定義シンボルについて
-
[解決済み] Xcodeエラー "Could not find Developer Disk Image" が発生する。
-
[解決済み] シミュレータへのサービス接続の開始に失敗しました Xcode
-
[解決済み] 基本的なUIButtonをプログラムで作成するには?
-
[解決済み] UICollectionView: 非Nilのレイアウトパラメータで初期化する必要があります。
-
[解決済み] データソースからのセルの取得に失敗しました。
-
[解決済み] dispatch_queue_create のキュー属性とは?
-
[解決済み] CocoaPodsでポッド「Firebase/Core」の互換バージョンが見つからなかった|cloud_firestore, Flutter
-
[解決済み] あなたのリクエストはエラーを発生させました。[newNullResponse]?