我正在尝试为苹果tv4(tvos)编写一个应用程序。当我的应用程序启动时,视图控制器确实会收到touchesBegan
事件。
在不涉及太多细节的情况下,应用程序创建、移动和删除子视图以响应用户的交互。
一段时间后,视图控制器不再接收touchesBegan
(这是我试图调试的奇怪错误)。
由于我认为问题与响应链有关,所以我做了以下两个实验:
如果我让视图控制器覆盖并从true
返回canBecomeFirstResponder
,那么问题仍然会发生,但发生的频率要低得多。
如果我不重写该函数,而是检查谁是第一个响应者,那么我发现应用程序没有第一个响应者,甚至在出现奇怪的错误之前也就是说,即使程序运行正常,也没有第一响应程序!
问题:什么可以阻止调用touchesBegan
?是否与响应者变更有关?如果是,请解释以上2点。
最佳答案
你到底该如何“触摸”在非触摸屏电视上呈现的视图?
你不是。。tvOS不像iOS那样工作,因为苹果电视不支持触摸屏输入设备,所以无法检测触摸。
相反,您可以使用UIFocusEngine
来处理与视图层次结构中显示的内容的交互。
查看苹果开发者库中的“Controlling the User Interface with the Apple TV Remote”了解更多信息。
关于swift - tvos:UIViewController没有收到touchesBegan,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34381183/