2016-08-16 5 views
2

self.dismissViewControllerAnimatedを呼び出さずに、View Controller(おそらくSwift)を閉じたり、割り当てを解除したりできますか?self.dismissViewControllerを呼び出さずにView Controllerを閉じる別の方法

私は、次の方法を試してみましたが、それは実際にそれをしない:

私のiOSアプリケーションで
let loginVC = self.storyboard?.instantiateViewControllerWithIdentifier("LoginVC") as! LoginVC 
self.presentViewController(loginVC, animated: true) { 
    //self.removeFromParentViewController() 
    self.tabBarController!.removeFromParentViewController() 
} 
+1

なぜ、あなたは 'dismissViewController'を呼びたくないのですか? 'presentViewController'を呼び出した後、それを却下するのは論理的な方法です。アニメーションが必要ない場合は、常に 'animated:false'を渡すことができます。 –

+0

'poptorootviewcontroller'または' poptoviewcontroller'を試してください –

+0

私はrootVCを持っています。なぜなら、ユーザが以前にアプリを使っていた場合だけです。それ以外の場合は、私のTabVCです。したがって、ユーザーが以前にアプリケーションを使用してLogoutを押した場合、rootVCが自分のログイン画面ではないのでdismissViewControllerコードは機能しません(これは私のtabVCになります)。 – user172902

答えて

1

、私はログアウト時にアプリケーションウィンドウのルートビューコントローラをリセットします。これを行うと、以前のすべてのView Controllerがメモリから削除され、loginVCが表示されます。 presentViewController:animated:completion:を提示されたビューコントローラを却下するために使用されるべき

let mainStoryBoard = UIStoryboard(name: "Main", bundle: nil) 
let loginVC = mainStoryBoard.instantiateViewControllerWithIdentifier("LoginVC") as! LoginVC 
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
appDelegate.window?.rootViewController = loginVC 
+0

rootViewControllerをloginVCに設定すると、他のすべてのVCがメモリから削除されるのはなぜですか?また1つの愚かな質問、どのように私はVCがメモリに住んでいるのをチェックするのですか?ありがとう – user172902

+1

現在のアプリケーションのウィンドウ階層を削除して新しいルートを設定しているため、それらはメモリから削除されています。これを理解することが難しい場合は、アプリケーションウィンドウをナビゲーションコントローラと見なしてください。あなたがしていることは、ナビゲーションコントローラ内のすべてのコントローラを削除し、新しいルートを設定することです。これにより、他のすべてのコントローラーが強制的に割り振り解除されます。何がメモリに入っているかを調べるには、product - > profileを実行します。次に、計測器パネルが表示されたら、割り当てオプションを選択します。あなたのアプリケーションを使用しているときに、あなたのVCを検索し、それが削除されていることを確認することができます。 –

+0

私は上記のコードをpushに適用しますが、popはバックビューのコントローラが何をすべきかを意味します。 –

1

dismissViewController:animated:ここでは、迅速で例です。

同様に、popViewControllerAnimated: UINavigationControllerのメソッドを使用して、pushViewController:animatedで示されるビューコントローラをポップします。

関連する問題