2015-08-07 3 views
0

У меня есть изображение, и я хочу, чтобы он попал на мой сайт, когда кто-то нажал на картинку. Я использовал tapGesture, чтобы преобразовать изображение в большую кнопку, но то, что я не знаю, как это сделать, - это что я хочу, чтобы приложение вывело пользователя на мой сайт, когда пользователь нажал на картинку.tapGesture hyperLink swift

ответ

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) 
    } 
} 

Edit:

Некоторые подробнее о том, как настроить это так, как вы описали: в вашем viewDidLoad, настроить ваш жест распознаватель как это:

let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: "linkTapped:") 
self.yourImageView.addGestureRecognizer(tapGestureRecognizer) 
self.yourImageView.userInteractionEnabled = true 

Убедитесь, что IBOutlet для yourImageView подключен правильно. Затем просто добавьте код, указанный в исходном ответе, в качестве метода для того же класса, который содержит ваш метод viewDidLoad. Если активируется распознаватель жестов, он должен теперь выполнить код в методе linkTapped: и открыть URL-адрес.

Edit 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) 
     } 
    } 
} 
+0

жаль, что я не понимаю ваш код, у меня есть UIImageView, как выпускное отверстие, и я добавил жест в методе viewDidLoad, так что вы можете пожалуйста объяснить свой код, я знаю эту часть 'если пусть url = NSURL (строка: «http://stackoverflow.com/») { UIApplication.sharedApplication(). openURL (url) } 'но как я могу поместить кнопку?! –

+0

И я не уверен, что понимаю ваш вопрос :-) Тем не менее, я попытался отредактировать ответ, чтобы включить более конкретные инструкции; возможно, это поможет вам. – Gamma

+0

Спасибо Это сработало Я застрял в действии XD Я не помещал «:», и приложение продолжало сбой, когда я нажимаю на картинку –

Смежные вопросы