2017-10-02 1 views
0

私はHomeVCという名前のビューコントローラを持っています。このコントローラは、条件に基づいてターゲットのビューコントローラにナビゲートするための中央ページとして機能します。他のVCにナビゲートするときに表示されないように、ランディングページ(ホーム)で使用するイベントはどれですか?

HomeVCは、ランディングページまたはメインページです。

HomeVCには、UIControlのようなカレンダーなどがあります。

問題:条件が満たされると、VC2にナビゲートする前に、HomeVCが短時間表示されます。

要件:

条件が満たされた場合、別のUIViewControllerに移動するときHomeVCを表示しない方法は?

アップデート: - :

override func viewDidAppear(_ animated: Bool) { 

    super.viewWillAppear(animated) 

let defaults = UserDefaults.standard 

if defaults.object(forKey: "SessionToken") == nil { 

    let VC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentitfier: "VC2") as! VC2 


self.dismiss(animated: true, completion: nil) 

self.navigationController?.present(VC, animated: true) 


} else { 

     //-- code for other task-- 

} 

} 

あなたの助けが高く評価され要件 はここHomeVC

上のuicontrolを示していないHomeVCためのコードです。ありがとう

答えて

0

これを達成するには、アニメーションを消してプレゼンテーションをオフにしてください。

self.navigationController?.present(VC, animated: false) 

self.dismiss(animated: false) 
+0

あなたの提案を自分のコードで使用しましたが、ナビゲートしないで、現在の代わりにnavigationControllerを使用したときに、homeVCが表示されます。私は何かが欠けていたか? – MilkBottle

+0

上記のステートメントは機能しません。私はself.dismiss(アニメーション:false)とself.present(VC、アニメーション:false)を使用する必要があります。これでもOKですが、まだ数秒でhomeVCが表示されます。 homeVCがAT ALLを表示しないように非常にスムーズな移行を達成する方法は?なぜこの状態でNavigationControllerを使用できないのですか? – MilkBottle

+0

これが機能するには、起動画面のように見える画面を作成し、それを使用して他のView Controllerに移動します。 – the4kman

関連する問題