是否可以将 GestureRecognizer 添加到自定义 UIView 子视图中的标签

Posted

技术标签:

【中文标题】是否可以将 GestureRecognizer 添加到自定义 UIView 子视图中的标签【英文标题】:is it possible to add a GestureRecognizer to a label in a custom UIView subview 【发布时间】:2014-03-10 21:54:21 【问题描述】:

我正在重构我采用的ViewController,并在控制器代码中创建UIViews。我想将其移至自定义 UIView,但想在控制器中处理手势识别器。

我有一个ItemViewController,它有一个自定义的UIView。在ItemController 中,我想做这样的事情:

ItemView *itemView = [[ItemView alloc] initWithFrame:CGRectMake(30.0f,_runningYPosition,100.0f, 50.0f)];
UITapGestureRecognizer *tapRecognizer2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapRecognized:)];
itemView.miHeaderLabel.tag = [item itemID];
[itemView.miHeaderLabel addGestureRecognizer: tapRecognizer2];

引用

- (void)tapRecognized:(id)sender

    ...

ItemViewController 中(不在自定义视图中)。

但它似乎不起作用。是否可以将 GestureRecognizer 添加到作为 ViewController 中子视图属性的标签中?有什么明显的我做错了吗?

【问题讨论】:

【参考方案1】:

您需要在标签上将userInteractionEnabled 设置为YES 才能接受触摸(因此手势才能接收触摸)。

【讨论】:

thx Wain,我需要在控制器或自定义视图中设置它吗?还是没关系? 我会在创建标签时将其设置在视图中。

以上是关于是否可以将 GestureRecognizer 添加到自定义 UIView 子视图中的标签的主要内容,如果未能解决你的问题,请参考以下文章

Swift 将 GestureRecognizer 添加到 UIStackView 之上的 View

SpriteKit/Scenekit TouchesBegan 或 GestureRecognizer

添加了 UITableViewCell GestureRecognizer 委托不工作

是否可以向查询添加一列不同/唯一值?

从 Interface Builder 连接时,GestureRecognizer 操作未触发

是否可以在python中添加多值和列表。我收到类型错误