【发布时间】:2011-04-05 17:31:11
【问题描述】:
我有一个关于如何向 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 一起使用,但我真的不想这样做....
非常感谢观看!
【问题讨论】:
标签: uigesturerecognizer tap tabbarcontroller