可以在UILabel和/或UIImageView上使用IB中的Tap手势识别器

use*_*859 14 iphone xcode uitapgesturerecognizer

我有一个带有单个UIView的xib,其中包含一堆图像和标签.如果我将Tap Gesture Recognizer拖到父视图上,它运行良好,但我需要添加代码来确定水龙头的位置,以便我可以正确响应点击的标签.

我认为如果我可以将Gesture Recognizers拖动到每个标签和/或图像并将IBActions连接到我响应的每个响应位置,那将会容易得多.不幸的是,我不能让这个工作.我只能从父视图中获取委托方法.

我所做的是将Tap Gesture Recognizer拖到标签上,然后将视图控制器连接为TGR的委托,并连接IBAction方法来处理tap.除了使用IBAction方法之外,我尝试了在gestureRecognizerShouldBegin:gestureRecognizer委托方法中分配目标和操作方法而没有成功.

这不应该工作,还是我只是如意思考?

谢谢你的帮助.

约翰

sal*_*.dm 28

在UIImages和UILabel上,userInteractionEnabled默认设置为NO.您可以对两者使用手势识别器,但首先必须重置此属性.

在Interface Builder或Storyboard中,在标签或图像上,选中userInteractionEnabled框.

或者,在代码中,只需执行以下操作(Objective-C):

myLabel.userInteractionEnabled = YES;
myImage.userInteractionEnabled = YES;
Run Code Online (Sandbox Code Playgroud)

(迅速):

myLabel.userInteractionEnabled = true
myImage.userInteractionEnabled = true
Run Code Online (Sandbox Code Playgroud)