我有一张图片,当有人点击图片时,我希望它能够访问我的网站 我使用tapGesture将图像转换为一个大按钮,但我不知道该怎么做,就是我希望应用程序在用户点击图像时将用户带到我的网站
答案 0 :(得分:0)
这取决于您希望链接打开的位置。这两种标准方法是在应用程序内部提供open the URL in a UIWebView,或者告诉系统在移动Safari浏览器中打开链接(将应用程序发送到后台)。
对我而言,这听起来像是你想要的第二种行为。您可以通过告诉UIApplication打开URL来实现它,如下所示:
@IBAction func linkTapped(sender:UITapGestureRecognizer) {
if let url = NSURL(string: "http://stackoverflow.com/") {
UIApplication.sharedApplication().openURL(url)
}
}
有关如何按照您描述的方式进行设置的更多信息:在viewDidLoad
中,设置您的手势识别器:
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: "linkTapped:")
self.yourImageView.addGestureRecognizer(tapGestureRecognizer)
self.yourImageView.userInteractionEnabled = true
确保yourImageView
的IBOutlet已正确连接。然后,只需将原始答案中给出的代码作为方法添加到包含viewDidLoad
方法的同一个类中。如果手势识别器触发,它现在应该执行linkTapped:
方法中的代码并打开URL。
因为它实际上适用于~10行代码,所以这里是一个最小视图控制器类作为示例实现。
class ViewController: UIViewController {
@IBOutlet var myImageView: UIImageView! //Check if connected correctly!
override func viewDidLoad() {
super.viewDidLoad()
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: "linkTapped:")
myImageView.addGestureRecognizer(tapGestureRecognizer)
myImageView.userInteractionEnabled = true
}
func linkTapped(sender:UITapGestureRecognizer) {
if let url = NSURL(string: "http://stackoverflow.com/") {
UIApplication.sharedApplication().openURL(url)
}
}
}