objective-c - 如何使用 tvOS 接收触摸?

标签 objective-c tvos

如何通过模拟器使用 tvOS 接收触摸?我们需要知道触摸位置。 UIPress - 没有它!

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event {
    // Never called
}

-(void)pressesEnded:(NSSet<UIPress *> *)presses withEvent:(nullable UIPressesEvent *)event {
    // Works fine!
}

最佳答案

按下与物理按钮相关,例如“菜单”按钮。当您开始按住此类按钮时开始按下,当您停止按住该按钮时它结束。没有任何与按下相关联的屏幕相对位置。

tvOS 中的触摸与 iOS 中的触摸类似,但有一个重要区别:它们是“间接”触摸,即手指位置与屏幕上的位置之间没有物理关系。

当触摸开始时,它将被传送到聚焦 View ,触摸将被认为是在该 View 的中心开始的,无论手指在触摸表面上的绝对位置如何。随着触摸的移动,其相对于屏幕的位置将相应更新。

我不知道有任何 API 可以让您确定手指在触摸表面上的绝对位置。

在您的情况下,使您的响应者成为焦点 View 应该会导致它接收触摸事件。

关于objective-c - 如何使用 tvOS 接收触摸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32516535/

相关文章:

ios - ios 视频中图像位置的变化

swift - tvOS:当按钮获得焦点时触发 popover segue

ios - 当应用程序在 tvOS 中播放视频期间从后台进入前台时,前进和后退不起作用

video - 如何显示来自 m3u8 URL 的 HLS 视频流的隐藏式字幕格式

ios - 应用进入后台模式四分钟后播放声音

swift - 当 UIButton 获得焦点时,Siri Remote 的菜单按钮不会退出应用程序

java - 使用 C++ 中的库为 PhoneGap 创建插件

ios - 递归和 objective-c

iphone - 动态更改 UITableView 单元格分隔线颜色

ios - WKWebView 约束不起作用