Apple TV - 菜单按钮 returns 到错误的屏幕

Apple TV - Menu button returns to wrong screen

我有一个以初始页面开头的 Apple TV 应用程序。它播放一段短片并进行一些网络设置。完成这两项操作后,我会自动将用户转到登录页面,供他们注册该服务。

let langingPageVC = LandingPageViewController(nibName: nil, bundle: nil)

self.present(langingPageVC, animated: true, completion: {
    print("Transferred to landing page")
})

当用户从此处点击菜单按钮时出现问题。它们会自动返回到初始页面,应用程序只会显示它在等待网络完成时显示的静态图像并停留在那里。然后用户可以再次按下菜单按钮并退出应用程序。如果用户重新进入应用程序,他们将停留在这个静态图像上并且无法执行任何操作。

我怎样才能让应用程序直接从我的登录页面进入后台,而不返回启动页面?我知道如何使用手势识别器检测菜单按下,但似乎没有我可以拨打的电话将从那时起将应用程序设置为后台。

我曾尝试在完成块中从其父级中删除启动页面,但没有成功。我看到有关将页面设置为 keyWindow 的信息,但我在日志中收到一条消息,说不要这样做,系统应该处理它,但它也没有用。

感谢任何帮助。

两个可能的选择:

  • 您可以将 LandingPageViewController 设置为 rootViewController,而不是从 SplashViewController 显示 LandingPageViewController。这样你的 splash 就不会出现在你的 viewcontrollers 的后台堆栈中。
  • 在 LandingPageViewController 之上单独 window 呈现 SplashViewController。视频播放完毕后,您可以关闭 window.