【发布时间】:2016-10-17 14:17:23
【问题描述】:
我有一个 Swift3 tvOS 应用程序,在其中我使用 performSegue(withIdentifier: ...) 从一个 ViewController 转换到另一个 ViewController。在第二个 ViewController 中,我使用带有 press.type == UIPressType.menu 的 pressesBegan 进行 UI 交互的菜单按钮。
如果直接输入第二个 ViewController(即默认的 ViewController),这可以正常工作,但随着过渡,当按下菜单按钮时,应用程序会再次显示第一个 ViewController(菜单在 tvOS 中兼作返回)。我的第二个 ViewController 也获得了密钥,但 UI 结果从未显示,因为第二个 ViewController 消失了。我尝试了不同的 segue 类型,但无济于事。
问题:
1) 有没有办法“消耗”菜单键事件,所以它永远不会到达操作系统?
2) 或者,我可以以某种方式制作“单向转场”吗?
3) 备选方案 2:我可以通过编程方式取消设置两个 ViewController 之间的关系吗?是什么让一个人成为另一个人的“父母”?我不使用导航控制器或任何东西,所以它必须是segue。
谢谢,
【问题讨论】:
-
这是一个简单的 XCode 8 问题,它显示了问题:drive.google.com/file/d/0B_LVxY3EYs6EOHRCTFpvZ3IzcG8/…
-
为什么不使用 UINavigationController?
-
如果它有效,那可能就结束了。我没有使用导航控制器,因为我只需要从一个 VC 转换到另一个 VC,然后在应用程序的剩余生命周期中一直呆在那里。
标签: swift uiviewcontroller segue tvos