我有一个关于如何向 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 中的视图控制器之一,如下所示:
[VC1.view addGestureRecognizer:tapGR];
但是以这种方式执行此操作时,根本无法识别点击手势,尽管保留了 tabBar 对标签栏项目的点击的原生点击识别。
有人对如何解决此类问题有任何建议吗?我想一种方法是选择另一种手势,而不是点击与 tabBarController 一起使用,但我真的不想那样做......
非常感谢观看!