是否可以将 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
,并在控制器代码中创建UIView
s。我想将其移至自定义 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 委托不工作