我有一张图片,当有人点击图片时,我希望它可以转到我的网站
我使用tapGesture将图像转换为大按钮,但是我不知道该怎么做,是当用户点击图像时,我希望该应用将用户带到我的网站

最佳答案

这取决于您要在何处打开链接。两种标准方法是在应用程序内提供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。

编辑2:

并且由于它实际上适合大约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)
        }
    }
}

关于ios - tapGesture hyperLink快速,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31887683/

10-09 17:18