添加 UITapGestureRecognizer 后 UIButtons 将不起作用
Posted
技术标签:
【中文标题】添加 UITapGestureRecognizer 后 UIButtons 将不起作用【英文标题】:UIButtons won't work after UITapGestureRecognizer is added 【发布时间】:2012-04-21 16:02:43 【问题描述】:我有以下代码,我将 UITapGestureRecognizer 添加到我的视图中:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(userTapped)];
[self.view addGestureRecognizer:tap];
我的问题是,当我按下与 UITapGestureRecognizer
在同一视图上的其他 UIButton
s(按钮在 IB 中创建)时,没有任何反应。
我想我只向gestureRecognizer添加了一个动作(userTapped:),但是如何添加与创建的其他按钮的交互?
【问题讨论】:
我的想法是下一个:我需要创建一些 backgroundVIew 并在其中添加 GestureRecognizer 【参考方案1】:试试
tap.cancelsTouchesInView = NO;
或
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
if([touch.view isKindOfClass:[UIButton class]])
return NO;
return YES;
【讨论】:
以上是关于添加 UITapGestureRecognizer 后 UIButtons 将不起作用的主要内容,如果未能解决你的问题,请参考以下文章
将 UITapGestureRecognizer 添加到 UIControl
如何将参数添加到通用 UITapGestureRecognizer?
尝试添加 UITapGestureRecognizer 但不工作
UITableView添加UITapGestureRecognizer与didSelectRowAtIndexPath冲突解决方法