这不是Sprite Kit
如果我有一个像下面这样的变量
var value = 0
如何在用户向右拖动时增加值,在向左拖动时减小值?
谢谢!
就像Caleb评论的那样,Ray的教程很棒,但如果你想要实际的swift示例,请查看下一个示例:
class ViewController: UIViewController, UIGestureRecognizerDelegate {
private var value: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.blackColor()
let recognizer = UIPanGestureRecognizer(target: self, action: Selector("handleDragging:"))
let inputView = UIView(frame: CGRectMake(0, 0, 100, 100))
inputView.backgroundColor = UIColor.whiteColor()
inputView.userInteractionEnabled = true
inputView.addGestureRecognizer(recognizer)
self.view.addSubview(inputView)
}
func handleDragging(recognizer: UIPanGestureRecognizer) {
if (recognizer.state == .Changed) {
let point = recognizer.velocityInView(recognizer.view?.superview)
if (point.x > 0) {
self.value++;
} else {
self.value--;
}
println(self.value)
}
}
}
您可以使用UIPanGestureRecognizer的velocityInView
方法来确定您要去的方向。它返回一个CGPoint,因此您可以根据需要提取x和y值。正号是右/下,负数是左/上