私のアプリにはログアウト ボタンがあり、ユーザーがそのボタンを押すと、既存のビューとバックグラウンド タスクをすべて強制終了する必要があります (ただし、起動イメージを再度表示したくはありません)。
どうすればこれを達成できますか?
私のアプリにはログアウト ボタンがあり、ユーザーがそのボタンを押すと、既存のビューとバックグラウンド タスクをすべて強制終了する必要があります (ただし、起動イメージを再度表示したくはありません)。
どうすればこれを達成できますか?
私が通常これを処理する方法は、LoginViewController を NavigationController を持つアプリの RootViewController にすることです。LoginController で、NavigationBar を非表示に設定しました。
あとは単純です。
[self.navigationController popToRootViewControllerAnimated:NO];
そして、すべてのビューがなくなったり、強制終了されたりするため (適切に作成した場合)、ビューによって管理されていないバックグラウンド プロセスを強制終了するだけで済みます。
ビューを削除するには、のrootViewController
プロパティを変更するだけwindow
です。
何かのようなもの
self.window.rootViewController = //The new view controller to be presented here
バックグラウンド タスクを強制終了するには、タスクの性質に依存します。それらへの参照がある場合は、ログアウト時に手動で強制終了できます。