如何使用模拟器使用tvOS接收触摸?我们需要知道触摸位置.UIPress - 没有它!
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event {
// Never called
}
-(void)pressesEnded:(NSSet<UIPress *> *)presses withEvent:(nullable UIPressesEvent *)event {
// Works fine!
}
Run Code Online (Sandbox Code Playgroud)
lem*_*nar 10
按钮与物理按钮相关,如菜单按钮.当您开始按住这样一个按钮时,按下按钮,当您停止按住按钮时按下它.没有与印刷机相关的任何与屏幕相关的位置.
tvOS中的触摸类似于iOS中的触摸,但有一个重要的区别:它们是"间接"触摸,即手指的位置和屏幕上的位置之间没有物理关系.
当触摸开始时,它将被传递到聚焦视图,并且无论手指在触摸表面上的绝对位置如何,都将认为触摸已经在该视图的中心开始.触摸移动时,其屏幕相对位置将相应更新.
我不知道任何API可以让你确定手指在触摸表面上的绝对位置.
在您的情况下,使您的响应者成为焦点视图应该使其接收触摸事件.
我认为应该是PressesBegan而不是touchedBegan。
(void)pressesBegan:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6652 次 |
| 最近记录: |