首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试添加UITapGestureRecognizer,但无法正常工作

尝试添加UITapGestureRecognizer,但无法正常工作
EN

Stack Overflow用户
提问于 2014-02-21 04:44:03
回答 2查看 248关注 0票数 0

我曾尝试在UILabel上设置一个简单的UITapGestureRecognizer,但它不起作用。似乎没有识别出任何内容,也没有将任何内容写入日志。

在从viewDidLoad调用的方法中

代码语言:javascript
运行
复制
  UILabel *miTN = [[UILabel alloc] initWithFrame:CGRectMake(300, 100, 150, 15)];
  [miTN setUserInteractionEnabled:YES];
  UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapRecognized)];
  [miTN addGestureRecognizer: tapRecognizer];
  [miView addSubview:miTN];

   ... later

  - (void)tapRecognized:(id)sender
  {
    NSLog(@"that tap was recognized");
  }

此外,这是为了响应异步网络调用而调用的。这可能是导致问题的原因吗?是否还有其他可能导致问题的问题?我真的不确定调试的第一步是什么-我检查了颜色混合层,看看他们是否重新映射,但似乎不是。

EN

回答 2

Stack Overflow用户

发布于 2014-02-21 04:50:30

您应该将UIGestureRecognizerDelegate添加到视图控制器类的协议列表中

代码语言:javascript
运行
复制
@interface TSViewController : UIViewController <UIGestureRecognizerDelegate>

并插入字符串:

代码语言:javascript
运行
复制
tapRecognizer.delegate = self;

并替换

代码语言:javascript
运行
复制
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapRecognized)];

代码语言:javascript
运行
复制
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapRecognized:)];
票数 1
EN

Stack Overflow用户

发布于 2018-02-07 11:49:17

在Swift中,您必须通过执行以下操作来启用。

代码语言:javascript
运行
复制
     yourLabel.isUserInteractionEnabled = true
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21919155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档