![](/img/trans.png)
[英]Add a Pan Gesture Recognizer to an UITableView in Swift
[英]Add Gesture Recognizer to SKShapeNode Swift 4
我希望当用户在SKShapeNode上向上滚动时执行一个函数。
我可以使用以下代码针对整个视图进行操作:
let swipeUp:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedUp:"))
swipeUp.direction = .up
view?.addGestureRecognizer(swipeUp);
我如何修改此代码以使其可用于SKShapeNode。 谢谢
通常,您不能将手势识别器添加到SKScene
的实例,因为该类不是UIKit
一部分。 但是,由于已将手势识别器添加到视图中,因此可以使用单独的处理程序方法来响应滑动手势。
override func didMove(to view: SKView) {
let swipeUpGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(self.handleSwipeFrom))
self.view!.addGestureRecognizer(swipeUpGestureRecognizer)
}
@objc func handleSwipeFrom(_ recognizer: UISwipeGestureRecognizer) {
switch recognizer.state {
case .changed:
if recognizer.direction == .up {
let touchInView = recognizer.location(in: recognizer.view)
let touch = convertPoint(fromView: touchInView)
let nodeArray = nodes(at: touch)
for node in nodeArray {
if node.name == "my shape node" {
// You've got a reference to your shape node and can take some action here (add movement or whatever)
}
}
}
default:
return
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.