Swift 主 UIViewController 内的多个 UIViewController
Multiple UIViewControllers inside master UIViewController in Swift
我正在 Swift 3 中为 tvOS 构建游戏。该游戏具有 CPU 密集的游戏背景,其中包括多个动画。这个后台是一个专用于这个任务的 UIViewController。我想在所有其他 UIViewControllers 中使用这个背景。
在 ViewController 之间导航时,背景动画需要流畅地继续。执行此操作的最佳方法是什么?
共享后台UIViewController示意图示例:
使用父子视图控制器包含。
创建父视图控制器。在那个视图控制器的内容视图中有你的常量动画运行。
向该视图控制器添加一个容器视图,并添加一个嵌入 segue,链接到您想要进入容器视图的第一个子视图控制器。
然后使用视图控制器子视图控制器支持方法和转换方法将子视图控制器交换为另一个子视图控制器。 (请参阅 transition(from:to:duration:options:animations:completion:)
。另请参阅 Xcode 文档中 UIViewController Class 描述中的 "Implementing a Container View Controller" 部分。特别是,此位:
Here are the essential methods you might need to call:
addChildViewController(_:)
removeFromParentViewController()
willMove(toParentViewController:)
didMove(toParentViewController:)
我正在 Swift 3 中为 tvOS 构建游戏。该游戏具有 CPU 密集的游戏背景,其中包括多个动画。这个后台是一个专用于这个任务的 UIViewController。我想在所有其他 UIViewControllers 中使用这个背景。
在 ViewController 之间导航时,背景动画需要流畅地继续。执行此操作的最佳方法是什么?
共享后台UIViewController示意图示例:
使用父子视图控制器包含。
创建父视图控制器。在那个视图控制器的内容视图中有你的常量动画运行。
向该视图控制器添加一个容器视图,并添加一个嵌入 segue,链接到您想要进入容器视图的第一个子视图控制器。
然后使用视图控制器子视图控制器支持方法和转换方法将子视图控制器交换为另一个子视图控制器。 (请参阅 transition(from:to:duration:options:animations:completion:)
。另请参阅 Xcode 文档中 UIViewController Class 描述中的 "Implementing a Container View Controller" 部分。特别是,此位:
Here are the essential methods you might need to call:
addChildViewController(_:)
removeFromParentViewController()
willMove(toParentViewController:)
didMove(toParentViewController:)