Ios 轻敲屏幕的最底部会导致触摸延迟

Ios 轻敲屏幕的最底部会导致触摸延迟,ios,delay,sprite-kit,lag,touchesbegan,Ios,Delay,Sprite Kit,Lag,Touchesbegan,我有一个场景,有多个层(SKNodes)背景、游戏层、前景和hud,每个层都有多个SKSpriteNodes,用于滚动和收集并点击对象 hud层只有一个SKSpriteNode(alpha颜色)和两个SklabelNode,用于评分和级别,点击屏幕上的任何位置(除了小评分区域)会导致即时触摸开始事件触发(fab),但。。。点击底部微小的hud得分区域会在触屏开始触发之前引入延迟/延迟 SKSpriteNode或标签是否会捕获TouchesBegind事件或其他事件并导致延迟 我将创建一个简化的项

我有一个场景,有多个层(SKNodes)背景、游戏层、前景和hud,每个层都有多个SKSpriteNodes,用于滚动和收集并点击对象

hud层只有一个SKSpriteNode(alpha颜色)和两个SklabelNode,用于评分和级别,点击屏幕上的任何位置(除了小评分区域)会导致即时触摸开始事件触发(fab),但。。。点击底部微小的hud得分区域会在触屏开始触发之前引入延迟/延迟

SKSpriteNode或标签是否会捕获TouchesBegind事件或其他事件并导致延迟

我将创建一个简化的项目来测试这一点,并发布我的发现,但我认为如果这个问题/查询得到回答,它可能会帮助其他人。谢谢

这是最接近我的问题的帖子,但我的应用程序中没有任何手势识别器。

我试着将记分板(SKSpriteNode和标签)从屏幕底部移开,触摸它们不再产生延迟。(所以不是他们!)

轻敲屏幕底部仍然会导致延迟

我可以确认LeanCocos2D关于控制中心导致延迟的建议是正确的。请参阅官方IOS7用户界面指南的摘录:

期望用户从屏幕底部向上滑动以显示 控制中心。如果iOS确定从 屏幕的底部应该显示控制中心,但它不能传递信息 指向当前正在运行的应用程序的手势。如果iOS确定 触摸不应露出控制中心,触摸可能会稍微 在到达应用程序之前延迟

为了解决这个问题,我真的需要人们能够在屏幕底部快速响应点击,在ViewController中包含以下代码:

- (BOOL) prefersStatusBarHidden
{
    return YES;
}

我真的希望这能有所帮助。

在我的AppDelegate的didFinishLaunchingWithOptions功能中添加此选项:

for (UIGestureRecognizer* gesture in _window.gestureRecognizers)
{
    gesture.delaysTouchesBegan=NO;
}

为我解决了屏幕底部的触摸延迟问题

您可以点击控制中心区域(您可以从底部向上滑动,在那里可以更改wifi、亮度和其他设置)。控制中心内部使用手势识别器。我相信有办法解决这个问题,你自己的一个解决办法是通过设置应用程序禁用应用程序中的Control Center。谢谢你的回复。我确实考虑过,但认为NNaAARR肯定不会影响我的应用程序,但是如果你可以关闭它,那这是我要尝试的第一件事。但在最底部的左侧或右侧敲击仍然会导致滞后。最终,我可能会将分数区域移到顶部,但我想先为其他人解决这个问题,因为其他人也有同样的行为。请有人接受我的回答,因为我试图对其他人的问题进行评论,但目前无法接受。