如何修复UILongPressGestureRecognizer的代码?

时间:2015-03-20 01:54:59

标签: xcode swift

我希望我的英雄节点在左侧长按时向左移动,而在右侧长按,就像在这个游戏https://itunes.apple.com/us/app/run-bird-run/id951346475?mt=8中一样。我对接下来要添加什么感到遗憾。

func beginTouchRecognizer(){
    let longPress = UILongPressGestureRecognizer(target: self,
        action: Selector("longPressTouch:"))
    longPress.minimumPressDuration = 1.0
    self.view?.addGestureRecognizer(longPress)
}

1 个答案:

答案 0 :(得分:0)

longPressTouch:方法中,您可以找到触摸的位置,并查看它是否位于用户正在点按的视图的特定区域内。

例如,您可以执行以下操作:

let WidthOfTapArea: CGFloat = 100

func longPressTouch(recognizer: UILongPressGestureRecognizer) {
    let location = recognizer.locationInView(self.view)
    if location.x < WidthOfTapArea {
        // Handle a tap on the left side of the view
    } else if location.x > (self.view.frame.width - WidthOfTapArea) {
        // Handle a tap on the right side of the view
    }
}

未经测试的代码,但它应该让你去。