3

当我们收到触摸时,即使我们按下触摸面板的右下侧,触摸也会从触摸面板的中心(x 960 y 540)开始。

我们如何在远程触摸面板上获取绝对按下位置 - 左上点为 0 0,右下点为 1920 x 1080?现在我使用这个代码来接收触摸

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

      for(UITouch *touch in touches) {
            CGPoint p = [touch locationInView: view];
            //....            
      }  
}
4

1 回答 1

1

我认为 TVOS 导航概念是不同的。尝试在遥控器上盲目地点击 UI 元素对用户不友好。

你不能用这样的东西来确定用户想要做什么吗?

var touchPositionX: CGFloat = 0.0
var touchPositionY: CGFloat = 0.0
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
    for touch in touches {
        let location = touch.locationInNode(self)

        if location.x < touchPositionX && location.y < touchPositionY {
            // TopRight Corner
        }
        // ...
    }
}

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    for touch in touches {
        // No repositioning
        touchPositionX = touch.locationInNode(self).x
        touchPositionY = touch.locationInNode(self).y
    }
}
于 2015-09-23T21:41:29.957 回答