'UITouch' 类型的值没有成员 'locationInNode'
Value of type 'UITouch' has no member 'locationInNode'
我正在尝试使用 swift2.1 获取触摸位置并出现错误 "Value of type 'UITouch' has no member 'locationInNode'"。
这是我的代码
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
if let touch = touches.first {
let location = touch.locationInNode(self)
print(location)
}
}
我查看了源代码,发现在 class UITouch 中只有 public
func locationInView(view: UIView?) -> CGPoint {
}
我应该使用它还是...?
正如 NicolasMiari 在评论中指出的那样,只有当您使用 SpriteKit
时才有效。 locationInNode()
是一个 SpriteKit
函数,可帮助您找到 SKNode
中的点。
如果您正在使用 "standard" UIKit
来获取视图中触摸的位置,您应该使用 locationInView()
获取视图 (!) 而不是控制器本身。
class ViewController : UIViewController{
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
if let touch = touches.first {
let location = touch.locationInView(self.view)
print(location)
}
}
}
我正在尝试使用 swift2.1 获取触摸位置并出现错误 "Value of type 'UITouch' has no member 'locationInNode'"。
这是我的代码
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
if let touch = touches.first {
let location = touch.locationInNode(self)
print(location)
}
}
我查看了源代码,发现在 class UITouch 中只有 public
func locationInView(view: UIView?) -> CGPoint {
}
我应该使用它还是...?
正如 NicolasMiari 在评论中指出的那样,只有当您使用 SpriteKit
时才有效。 locationInNode()
是一个 SpriteKit
函数,可帮助您找到 SKNode
中的点。
如果您正在使用 "standard" UIKit
来获取视图中触摸的位置,您应该使用 locationInView()
获取视图 (!) 而不是控制器本身。
class ViewController : UIViewController{
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
if let touch = touches.first {
let location = touch.locationInView(self.view)
print(location)
}
}
}