如何在功能中检测手指位置

时间:2017-12-03 19:44:39

标签: ios swift

我想使用双击。我写了函数doubleTap。如何识别手指的位置?

{{1}}

2 个答案:

答案 0 :(得分:1)

您可以使用location(ofTouch:in:)来获取触摸的位置。但是,您需要从要访问该位置的函数内部访问手势识别器,因此您应该将doubleTap声明为您的类的实例属性。

class YourViewController: UIViewController {
    let doubleTap = UITapGestureRecognizer(target: self, action: #selector(YourViewController.doubleTap))

    override func viewDidLoad(){
        super.viewDidLoad()
        doubleTap.numberOfTapsRequired = 2
        doubleTap.numberOfTouchesRequired = 1
        view.addGestureRecognizer(doubleTap)
    }
    func doubleTap(){
        let touchLocation = doubleTap.location(ofTouch: numberOfTouches-1,in: nil)
    }
}

如果要更改是否需要获取第一个或最后一个触摸位置,或者想要获取相对于子视图的位置,请将输入参数更改为该功能。

答案 1 :(得分:0)

您可以将手势识别器作为参数

final View v = tr.getChildAt(i);
    if ( v instanceof RadioButton ) {
        v.setOnClickListener(this);
    }