2015-08-26 59 views
4

我需要获取UIWebView中链接的链接的坐标。我尝试过使用TapGestureRecognizer,但是当链接被点击时它不会触发。我想我可以通过stringByEvaluatingJavaScriptFromString从Javascript获得坐标,我也无法使用它。我怎样才能做到这一点?iOS Swift UIWebView链接坐标

+1

_link_如何具有“坐标”? – matt

回答

3

一个要传递给上海华这个答案的快速等价物:How to detect touch on UIWebView

import UIKit 

class ViewController: UIViewController, UIGestureRecognizerDelegate { 

    let myWebView = UIWebView() 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     myWebView.frame = self.view.frame 
     self.view.addSubview(myWebView) 
     myWebView.loadRequest(NSURLRequest(URL: NSURL(string: "https://stackoverflow.com")!)) 

     let webViewTapped = UITapGestureRecognizer(target: self, action: "tapAction:") 
     webViewTapped.numberOfTouchesRequired = 1 
     webViewTapped.delegate = self 
     myWebView.addGestureRecognizer(webViewTapped) 
    } 

    func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool { 
     return true 
    } 

    func tapAction(sender: UIGestureRecognizer) { 
     let point = sender.locationInView(self.view) 
     println(point.x) 
     println(point.y) 
    } 
+1

这是我正在寻找的精确!谢谢! –

1

UIView hitTest可能是有用的。

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event ; 

重写它(或使用类别)在Web视图可能让你处理的点击坐标Web视图的包含的项目,其不会通过手势识别