У меня есть изображение, и я хочу, чтобы он попал на мой сайт, когда кто-то нажал на картинку. Я использовал tapGesture, чтобы преобразовать изображение в большую кнопку, но то, что я не знаю, как это сделать, - это что я хочу, чтобы приложение вывело пользователя на мой сайт, когда пользователь нажал на картинку.tapGesture hyperLink swift
ответ
Это зависит от того, где вы хотите, чтобы ссылка открывалась. Два стандартных подхода - либо 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)
}
}
}
- 1. Swift 2 непризнанный селектор в tapgesture
- 2. Как знать контейнер TapGesture Recgoinizer в Swift
- 3. Swift 3 Delegate, Protocol - TapGesture не работает
- 4. Swift 2 TapGesture Error: «непризнанный селектор отправлен в экземпляр»
- 5. Тестирование TapGesture с 6 повторами (iOS и Swift)
- 6. Включая функцию протокола в tapGesture action selector - iOS Swift
- 7. TapGesture на tableViewCell ContentView
- 8. TapGesture on webView
- 9. Пользовательский UIView с tapGesture
- 10. TapGesture by UITableView
- 11. TapGesture внутри collectionView
- 12. Добавление tapgesture в UIImageview
- 13. iOS TapGesture не работает
- 14. Селектор не называется 2 tapgesture
- 15. Поворот UIImageView с помощью TapGesture
- 16. popup using tapgesture на TableViewCell
- 17. tapGesture не работает для этикеток
- 18. Масштабирование и TapGesture в iphone
- 19. MKAnnotaionView события tapgesture не вызывалось
- 20. Как обнаружить tapgesture на UIImage?
- 21. hyperlink styling
- 22. Dynamic HyperLink
- 23. Проблема HyperLink
- 24. Javascript - Div Box как HyperLink + Вложенный текст HyperLink - возможно?
- 25. gwt hyperlink changeEvent
- 26. Free Matrix Hyperlink
- 27. javascript split URL Hyperlink
- 28. Excel VBA plus = hyperlink()
- 29. Word document hyperlink
- 30. XSL Hyperlink с параметрами
жаль, что я не понимаю ваш код, у меня есть UIImageView, как выпускное отверстие, и я добавил жест в методе viewDidLoad, так что вы можете пожалуйста объяснить свой код, я знаю эту часть 'если пусть url = NSURL (строка: «http://stackoverflow.com/») { UIApplication.sharedApplication(). openURL (url) } 'но как я могу поместить кнопку?! –
И я не уверен, что понимаю ваш вопрос :-) Тем не менее, я попытался отредактировать ответ, чтобы включить более конкретные инструкции; возможно, это поможет вам. – Gamma
Спасибо Это сработало Я застрял в действии XD Я не помещал «:», и приложение продолжало сбой, когда я нажимаю на картинку –