2017-11-01 19 views
-2

この種類の設定で私を助けてください。 これを行う方法は?UIView内のiOS UIViewController

他の回答を確認しましたが、これは他の回答とは異なります。重複としてフラグを立てないでください。

UIViewUIViewで試しました。 しかしの中で一連のUIViewControllerトランジションが起こりたいです。

enter image description here

モデレーター:どのようにUIViewの内側にNavigationControllerを持っている:単一の質問です。私はイメージを与えたシナリオを説明するために。それだけです。私が求めているプロジェクトではありません。 :) ありがとうございました。ストーリーボードで

+0

UINavigationControllerを使用する必要があります。 – kirander

+0

UIView内にUIViewControllerを配置することはできません。逆の場合もあります。 – LinusGeffarth

+0

しかし、私はUIViewControllerをContainerに持つことができます。 UIViewにコンテナがありませんか? – Chandra

答えて

0

enter image description here

これはあなたが望んでいるならば、あなたはあなたのビュー内のコンテナビューを追加し、UINavigationControllerコンテナビューに付属しているのViewControllerを埋め込むことができます。

enter image description here

+0

それは素晴らしいです。私はこれを試した。しかし、2番目のviewcontrollerがプッシュされる代わりに提示されています。私は最初にナビゲーションコントローラを持っています。それでも私が[次を押す]ボタンをタップすると、次のビューコントローラが表示されます。 – Chandra

+0

これは私の問題を解決しました。これは正解です。ありがとうRikesh。 – Chandra

0

enter image description here

  • はコンテナによって埋め込まれたのUIViewControllerを削除します。

  • 新しいUINavigationControllerを置き、コンテナの 'viewDidLoad'を にUINavigationControllerの 'embed'にリンクします。

  • UINavigationControllerのRootViewControllerを削除します。

  • 新しいUIViewControllerを配置し、UINavigationControllerの 'rootViewController'を新しいUIViewControllerにリンクします。

+0

しかし、私はコンテナを持っているviewcontrollerを提示すると、visualeffectsviewを持っている必要があります。私がそれを提示すると、現状でそれを提示しても、背景がぼやけて見えません。 – Chandra

0

あなたは、子ビューコントローラを使用することができます。

移行コントローラの(ルートビューを含む)ビューを追加して、移行を表示します。 子としてナビゲーションコントローラを最上位のアクティブコントローラに追加します。 その後、この子ナビゲーションコントローラを使用してUIView内をナビゲートできます。

let rootController:UIViewController = UIViewController.init(); 
    rootController.view.frame = CGRect.init(x: 0, y: 0, width: 320, height: 480); 
    let navController:UINavigationController = UINavigationController.init(rootViewController: rootController); 

    self.view.addSubview(navController.view); 
    self.addChildViewController(navController); 

コンテナはself.viewです。 ViewController 2はナビゲーションコントローラ内のrootControllerです。 ViewController 2から、ナビゲーションコントローラの助けを借りてどこでもナビゲートできます。

関連する問題