Относительная сенсорная позиция Apple TVOS к абсолютной позиции
Когда мы получаем прикосновения, эти прикосновения начинаются в центре сенсорной панели (x 960 x 540), даже если мы нажимаем на правую нижнюю сторону сенсорной панели.
Как мы можем занять абсолютную позицию нажатия на удаленной сенсорной панели - где верхняя левая точка равна 0 0, нижняя правая точка равна 1920 x 1080? Теперь я использую этот код, для получения прикосновений
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
for(UITouch *touch in touches) {
CGPoint p = [touch locationInView: view];
//....
}
}
1 ответ
Я думаю, что навигационная концепция TVOS отличается. Неудобно пытаться слепо поразить элемент пользовательского интерфейса на пульте дистанционного управления.
Разве вы не можете использовать что-то подобное, чтобы определить, что пользователь хочет сделать?
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
}
}