【问题标题】:tvOS, swift: how to restore default gesture recognizertvOS,swift:如何恢复默认手势识别器
【发布时间】:2025-12-28 15:50:13
【问题描述】:

我有 SpriteKit 2 SkViews。 第一个是菜单场景,第二个是游戏场景。 默认情况下,siri 遥控器的菜单按钮将用户发送回 Apple TV 主屏幕。 所以在我的第二个视图(游戏场景)中,我初始化了一个手势识别器以返回菜单场景。问题是当我回到菜单场景时,菜单按钮不再让我回到 Apple TV 主屏幕并停留在菜单场景中。

当我回到菜单场景时如何恢复菜单按钮的默认行为?

感谢您的帮助

【问题讨论】:

    标签: swift button menu tvos apple-tv


    【解决方案1】:

    返回菜单场景后,您应该移除或禁用手势识别器。如果用户返回游戏场景,您应该重新添加或重新启用该手势。

    如果任何手势识别出菜单按钮,UIKit 不会让应用退出(因为它认为你正在处理菜单按钮,所以它不想干涉)即使你的处理程序没有做任何事情.

    【讨论】:

      【解决方案2】:

      当您返回主菜单场景时,请确保禁用手势识别器

      在目标 C 中

      myGestureRecognizer.enabled = NO;

      在斯威夫特中

      myGestureRecognizer.enabled = false
      

      希望对你有帮助

      【讨论】: