標準的な方法は次のとおりです。
- ログイン画面に関連するすべてのものを、
UIViewController
それを管理するビューとサブクラスにパッケージ化します。
application:didFinishLaunchingWithOptions:
呼び出して、アプリデリゲートでそのビューをモーダルに提示します
LoginController*loginController= ... ; // create the view controller for the login screen
[self.tabController presentModalViewController:loginController animated:YES];
このようにして、トランジションなどの間のアニメーションが自動的に処理されます。
正常にログインした後、後でそれを閉じることができます。それはLoginController
によって内部から行うことができます
[self.parentViewController dismissModalViewControllerAnimated:YES];
ただし、ログインが完了したら、追加のセットアップを行う必要があることがよくあります。したがって、最初にアプリデリゲートにログインが完了したことを伝えてから、
[self.tabController dismissModalViewControllerAnimated:YES];
アプリデリゲートから。次に、そこで追加のタスクを実行できます。
アプリの代理人に連絡するために、を使用しますNSNotification
が、それはあなたにとって少し難しいかもしれません。
理解しやすいかもしれない(しかし私の好みには醜い)1つの方法は、たとえばloginDone
アプリデリゲートでメソッドを定義することです。次に、の中でLoginViewController
、あなたはすることができます
MyAppDelegate*appDelegate=[[UIApplication sharedApplication] delegate];
[appDelegate loginDone];