UITabBarController にタップ ジェスチャを追加する方法について質問があります。UITabBarController には既にタップ ジェスチャが組み込まれているため (タブ バー上のタブ バー項目のタップに応答)、技術的には独自のジェスチャを tabBarController に追加できますが、tabBar は独自のネイティブ タップ ジェスチャを失います。以下は私がやろうとしていることです:
UIViewController *VC1 = ....;
UIViewController *VC2 = ....;
UITabBarController *tabBarController = [[UITabBarController alloc] init];
tabBarController.viewControllers = [NSArray arrayWithObjects: VC1, VC2, nil];
UITapGestureRecognizer *tapGR = [[UITapGestureRecognizer alloc]
initWithTarget:VC1
action:@selector(tap:)];
[tabBarController.view addGestureRecognizer:tapGR];
これはタップ メソッド「tap:」に正しく応答しますが、tabBarController はタップ バー項目に対するネイティブのタップ応答を失います。次のように、tabBarController のビュー コントローラーの 1 つにジェスチャを追加しようとしました。
[VC1.view addGestureRecognizer:tapGR];
しかし、このようにすると、タブ バー項目のタップに対する tabBar のネイティブ タップ認識は保持されますが、タップ ジェスチャはまったく認識されません。
この種の問題を解決する方法について何か提案はありますか? 1 つの方法は、タップして tabBarController に移動する以外の別のジェスチャを選択することだと思いますが、私はむしろそれをしたくありません....
ご覧いただきありがとうございます!