0

我有一个 UIImageView(在运行时从远程服务器加载的图像),现在我想通过单击此图像打开一个特定的 url(比如 www.google.com)。我通过单击按钮完成了此操作,但我不知道如何使用 imageView 来执行此操作。任何建议或示例代码将不胜感激。

谢谢!!

4

2 回答 2

2

你需要的是 UIGestureRecognizer

UITapGestureRecognizer* recognizer;
recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openLink)];
self.imageView.userInteractionEnabled = YES;
[self.imageView addGestureRecognizer:recognizer];

然后实现openLink打开url的方法。

于 2012-07-20T13:31:06.503 回答
0

在界面生成器(或您的故事板)中,选择您的 UIImageView。Control-drag从图像到类的头文件。选择“动作”,并根据需要命名。这将添加类似

- (IBAction)loadURL:(id)sender;

在您的标题中,并且

- (IBAction)loadURL:(id)sender {
}

在您的 .m 文件中。在这个函数中插入你需要的任何代码,我认为你很高兴!

让我知道你是否成功了。

编辑:哎呀,好像我说得太快了,这不起作用,因为您无法向 UIImageView 添加操作。另一个编辑即将推出。

编辑#2:

好的,首先确保您的图像视图在 xib 或情节提要中“启用了用户交互”。然后通过控制拖动你的 UIImageView 到你的头文件来为图像添加一个出口。然后使用 UIResponder 方法 touchesBegan、touchesMoved、touchesEnded(等等)来检测图像视图上的触摸:将其添加到您的 .m 文件中:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch *touch = [touches anyObject];

    if ([touch view] == yourImageView)
    {
            NSLog(@"Touched !");
    }

}
于 2012-07-20T13:31:09.337 回答