在XIB中设置UITapGestureRecognizer

时间:2012-08-30 18:17:45

标签: objective-c xcode ios5

我正在开发一款应用程序,我希望用户能够点击图像并触发另一种方法(已经编写并经过测试;它可以正常工作),但我对此感到非常困惑我需要这样做才能做到这一点。我已经使用XIB来设置UIImageView(我知道我需要将UITapGestureRecognizer拖到UIImageView上,我知道我需要在viewDidLoad中使用目标和动作来分配和启动它),但我不是&#39 ; t知道在那之后连接到XIB中的内容,或者要写入哪些属性/方法。 (UITapGesture识别器的状态无关紧要 - 无论是UIGestureRecognizerStateBegan还是UIGestureRecognizerStateEnded都应该做同样的事情。)

我的下一步是什么?

像往常一样,非常感谢提前。

2 个答案:

答案 0 :(得分:1)

另一种选择是使图像成为按钮的背景,并使用连接IBOutlet进行“修饰”。这是关于如何连接插座的众多教程之一。 http://www.servin.com/iphone/iPhone-Buttons.html

答案 1 :(得分:1)

我个人喜欢用代码设置这些代码,所以这里有一个例子。首先,在头文件中,您需要为IBOutlet创建UIImageView,然后将该出口链接到界面构建器中的图像视图。

IBOutlet UIImageView *imageView;

然后在viewDidLoad(或您真正需要的地方),您可以设置识别器并将其添加到图像视图。

重要提示:确保在图片视图中启用用户互动,否则无效!

[imageView setUserInteractionEnabled:YES];    
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myMethodToCall)];
[tap setNumberOfTapsRequired:1];
[tap setNumberOfTouchesRequired:1];
[imageView addGestureRecognizer:tap];

希望这有帮助!