Siri 远程触摸位置?
Posted
技术标签:
【中文标题】Siri 远程触摸位置?【英文标题】:Siri Remote Touch Location ? 【发布时间】:2015-11-10 20:07:29 【问题描述】:在 Apple TV 上的 Siri Remote 上收集触摸时,触摸位置总是报告为同一位置?
let tapRecognizer = UITapGestureRecognizer(target: self, action: "tapped:")
tapRecognizer.allowedPressTypes = [NSNumber(integer: UIPressType.LeftArrow.rawValue),NSNumber(integer: UIPressType.RightArrow.rawValue)];
self.view.addGestureRecognizer(tapRecognizer)
func tapped(tap :UITapGestureRecognizer)
print(__FUNCTION__)
print(tap.locationInView(super.view))
尝试了 locationInView(xxx) 中的各种选项,但没有。还检查了水龙头。在调试器中,可以看到任何东西。
任何想法,是否支持。
【问题讨论】:
在这里找到了这个marisibrothers.com/2015/10/… 所以看起来我不能 【参考方案1】:您可以改用 touchesBegan 方法:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?)
for var touch in touches
print(touch.locationInView(self.view))
【讨论】:
不幸的是它总是报告相同的 touchLocation :( 看起来有点奇怪,因为它都是基于屏幕输入而不是触控板输入。也许在未来的版本中。【参考方案2】:你可以使用这些方法
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?)
for touch in touches
let location = touch.locationInNode(self)
print("touchesBegan: x: \(location.x) y: \(location.y)")
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?)
for touch in touches
let location = touch.locationInNode(self)
print("touchesMoved: x: \(location.x) y: \(location.y)")
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?)
for touch in touches
let location = touch.locationInNode(self)
print("touchesEnded: x: \(location.x) y: \(location.y)")
【讨论】:
以上是关于Siri 远程触摸位置?的主要内容,如果未能解决你的问题,请参考以下文章
如何检测是不是从 Apple TV Siri Remote 中单击了 Siri 按钮
基于iOS快捷指令和Siri控制连接OneNET物联网平台的STM32的智能安防家居系统