Я пытаюсь понять, как перехватить событие click на UIWebView
. Кажется, что правильный жест - UITapGestureRecognizer
, но, похоже, я не могу получить представление. Я не смог найти решение быстро. Моя иерархия - View -> UIWebView
. Моим вариантом использования является развертывание веб-приложения и некоторые пользовательские действия, основанные на навигации по веб-просмотру. Например, возможность распознавать навигационные события, в которых я хотел бы использовать межстраничное объявление, или отображать UINavigationBar
. Спасибо за любую помощь!Перехват UITapGestureRecognizer для UIWebView
import UIKit
class ViewController: UIViewController {
@IBOutlet var Webview: UIWebView!
let URLPath = "http://www.example.com"
func loadAddressURL(){
let requestURL = NSURL(string: URLPath)
let request = NSURLRequest(URL: requestURL!)
Webview.loadRequest(request)
}
override func viewDidLoad() {
super.viewDidLoad()
loadAddressURL()
NSLog("I'm getting going")
//NOT SURE IF YOU SHOULD DISABLE THIS OR NOT
//Webview.userInteractionEnabled=false
let tapRecognizer = UITapGestureRecognizer(target: self , action: "handleSingleTap:")
NSLog("I'm past the tab recognizer!\(tapRecognizer)")
tapRecognizer.numberOfTapsRequired = 1
Webview.addGestureRecognizer(tapRecognizer)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func handleSingleTap(recognizer: UITapGestureRecognizer) {
//
NSLog("I made it here")
}
}
Its работает нормально на UIWebView –
Я изменил определение класса для 'class ViewController: UIViewController, UIGestureRecognizerDelegate {' в дополнение к другому коду, который вы написали, и теперь он работает. Благодаря! – user2589119