2017-09-04 5 views
1

私はtvOSのSwift 3でゲームを構築しています。ゲームには、いくつかのアニメーションを含むCPU集約的なゲームの背景があります。このバックグラウンドは、このタスク専用のUIViewControllerです。他のすべてのUIViewControllerでこの背景を使用したいと思います。SwiftのUIViewController内に複数のUIViewControllerがあります

ViewControllersの間を移動するとき、背景アニメーションは円滑に続行する必要があります。これを行う最善の方法は何でしょうか?共有背景のUIViewControllerの

回路図例:

Example

+0

すべてのViewControllersの背景ビューとしてカスタム 'UIView'を使用してください。しかし、ゲームをデザインしている場合は、おそらく 'UIKit'ではなく' SpriteKit'を使用しているはずです。 –

答えて

2

使用親子ビューコントローラの封じ込め。

親ビューコントローラを作成します。そのビューコントローラのコンテンツビューで定数アニメーションを実行します。

コンテナビュー内に移動する最初の子ビューコントローラにリンクされている、そのビューコントローラと埋め込みセグメントにコンテナビューを追加します。

次に、ビューコントローラの子ビューコントローラのサポートメソッドとトランジションメソッドを使用して、子ビューコントローラを別の子ビューコントローラにスワップします。 (transition(from:to:duration:options:animations:completion:)を参照してください。また、Xcodeのドキュメント内のUIViewControllerクラスの説明に「コンテナビューコントローラの実装」を参照してください特に、このビット:。。

ここでは、あなたが呼び出す必要があります不可欠な方法です

  • addChildViewController(_ :)

  • removeFromParentViewController()

  • willMove(toParentVi ewController :)

  • didMove(toParentViewController :)

関連する問題