我有一个 UIImageView(在运行时从远程服务器加载的图像),现在我想通过单击此图像打开一个特定的 url(比如 www.google.com)。我通过单击按钮完成了此操作,但我不知道如何使用 imageView 来执行此操作。任何建议或示例代码将不胜感激。
谢谢!!
我有一个 UIImageView(在运行时从远程服务器加载的图像),现在我想通过单击此图像打开一个特定的 url(比如 www.google.com)。我通过单击按钮完成了此操作,但我不知道如何使用 imageView 来执行此操作。任何建议或示例代码将不胜感激。
谢谢!!
你需要的是 UIGestureRecognizer
UITapGestureRecognizer* recognizer;
recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openLink)];
self.imageView.userInteractionEnabled = YES;
[self.imageView addGestureRecognizer:recognizer];
然后实现openLink
打开url的方法。
在界面生成器(或您的故事板)中,选择您的 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 !");
}
}