gpt4 book ai didi

iphone - iOS 11.1 游戏顶部和底部触摸无响应

转载 作者:行者123 更新时间:2023-12-03 21:00:49 25 4
gpt4 key购买 nike

自从安装 iOS 11.1 以来,我们发现屏幕顶部和底部的一条 strip 对触摸没有响应。这会影响我开发的横向应用程序和纵向应用程序(它们使用金属 API 进行渲染)。在其他一些开发者的应用程序上也观察到了这个问题,例如Golf Clash 但不是其他 - 由于我们使用内部引擎,因此我们的应用程序和其他开发人员的应用程序之间没有共享代码。

这是功能更改还是解决方法的已知问题?我在 StackOverflow、Apple 开发者论坛或 Apple 文档中找不到任何信息。

也许这与 iOS 11 中出现的安全区域的引入有关,我们的游戏尚未完全支持安全区域(但我没想到安全区域会影响触摸,或出现在现有设备上)。也许这与新的通知向下滑动和控制中心向上滑动行为有关 - 我们注意到它们过去常常在第一次滑动时打开一个选项卡,但现在它们立即打开,进入设置并禁用控制中心在应用程序中并不能修复它。

在 iPhone6 和 iPhone6S 上均观察到,因此它不太可能与 3D 触摸功能相关,因为 iPhone6 不支持该功能。

编辑:将在 sleep 后进一步调查,但我认为实际上正在生成违规区域的触摸事件。问题是计时问题之一,通常在touchesEnded事件之前大约20-50ms接收touchesBegan事件,即使是快速按下也是如此。然而,在这些顶部和底部区域,我几乎在touchesBegan之后立即收到touchesEnded事件(不到1毫秒)。我的工作原理是,iOS 会阻止触摸事件以查看它是否成为滑动手势,并且只有在确定不会将其作为滑动手势处理时才发送 TouchBegan 事件。可能必须改进我的输入代码,以便一开始就结束的触摸不会落入裂缝并最终被游戏代码忽略(不幸的是,游戏代码会轮询触摸状态而不是事件驱动)。

最佳答案

如果您希望手势优先于系统手势,您应该覆盖 View Controller 中的属性preferredScreenEdgesDeferringSystemGestures

像这样:

override var preferredScreenEdgesDeferringSystemGestures: UIRectEdge {
return .all
}

请参阅docs

关于iphone - iOS 11.1 游戏顶部和底部触摸无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47060895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com