作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 swift2.1 获取触摸位置并收到错误消息“‘UITouch’类型的值没有成员‘locationInNode’”。
这是我的代码
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
if let touch = touches.first {
let location = touch.locationInNode(self)
print(location)
}
}
我查看了源代码,发现在 UITouch 类中只有 public
func locationInView(view: UIView?) -> CGPoint {
}
我应该使用它还是...?
最佳答案
正如 NicolasMiari 在评论中指出的那样,只有当您使用 SpriteKit
时,它才会起作用。 locationInNode()
是一个 SpriteKit
函数,可帮助您找到 SKNode
中的点。
如果你正在使用“标准”UIKit
,你想在 View 中获取触摸的位置,你应该使用 locationInView()
来获取 View (!) 不是 Controller 本身。
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)
}
}
}
关于ios - 类型 'UITouch' 的值没有成员 'locationInNode',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34588952/
我正在尝试使用 swift2.1 获取触摸位置并收到错误消息“‘UITouch’类型的值没有成员‘locationInNode’”。 这是我的代码 override func touchesBegan
我已经为此苦苦挣扎了一段时间,希望得到一些帮助! 我在 sprite kit 中有一个瓦片 map ,用户可以点击任何瓦片,事情就会发生。为了获得他们点击的图 block ,我使用了这样的东西: -(
我首先声明了两个 SKSpriteNodes,handle 和 blade,然后将 handle 添加为 self 的子节点,将 blade 添加为 handle 的子节点 var handle =
我是一名优秀的程序员,十分优秀!