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 远程触摸位置?的主要内容,如果未能解决你的问题,请参考以下文章

在 SwiftUI 中检测 Siri 远程滑动

覆盖播放/暂停按钮时允许使用 Siri 远程菜单按钮

如何检测是不是从 Apple TV Siri Remote 中单击了 Siri 按钮

基于iOS快捷指令和Siri控制连接OneNET物联网平台的STM32的智能安防家居系统

基于iOS快捷指令和Siri控制连接OneNET物联网平台的STM32的智能安防家居系统

基于iOS快捷指令和Siri控制连接OneNET物联网平台的STM32的智能安防家居系统