鉴于触摸始终从0,0开始,我无法找到一种简单的方法来检测触控板上触控板的确切位置。
答案 0 :(得分:5)
检测实际点击的位置可能不像看起来那么容易,甚至可能。在这里区分点击和点击很重要。分析用于选择信息和点击确认,如Apple人机界面指南中所述。出于这个原因,Apple没有提供一种简单的方法来区分点击位置,而点击则存在这种方式。在此之后,我的第一个建议是重新考虑界面,并按预期使用点击和点击。我确实认识到,在很多情况下,这是不可能的。
新遥控器的触控表面下方有一个物理按钮。
物理按钮点击和点击由UIPress
类表示,并在设置allowedPressTypes
时由手势识别器识别。物理按钮单击的按下类型为UIPressTypeSelect
。
由于UIPressTypeSelect
无法区分实际触控板上的位置,并且它创建的事件会在实际屏幕上返回UIWindow
中的位置,因此此处需要一系列事件才能完成任务
使用以下方法检测印刷机何时开始。然后查找类型<{p>}的UIPress
UIPressTypeUpArrow
UIPressTypeDownArrow
UIPressTypeLeftArrow
UIPressTypeRightArrow
这表示触摸。接下来应该是UIPress
类型的另一个UIPressTypeSelect
事件。这将指示用户点击了他们最初触摸的位置。
- (void)pressesBegan:(NSSet<UIPress *> *)presses withEvent:(UIPressesEvent *)event {
for (UIPress *item in presses) {
}
}
这不是一个完美的解决方案,可能值得向Apple提交错误报告并请求该功能。
对遥控器进行更精细控制的另一个选择是使用GCController
,但这可能会使事情变得复杂,看起来它超出了这个问题的范围。