これを使用してサイド ビュー コントローラーのセットアップを使用しています: https://github.com/edgecase/ECSlidingViewController
初期ビュー コントローラーは、'InitialViewController' の識別子を持つストーリーボードを使用して読み込まれます。
このためにviewDidLoadにロードされたら、以下を使用してユーザーがログインしているかどうかを確認します。
UIStoryboard *storyboard;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
} else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
}
if (![PFUser currentUser]){
self.topViewController = [storyboard instantiateViewControllerWithIdentifier:@"WelcomeVC"];
} else {
self.topViewController = [storyboard instantiateViewControllerWithIdentifier:@"HomeVC"];
}
上記のように、ユーザーがログインしていない場合、WelcomeVC が読み込まれます。WelcomeVC は、内部に 3 つの Vc を持つナビゲーション コントローラーです。ようこそ/ログイン/サインアップ。
ユーザーがログインしたら、topViewController (上記のように) を HomeVC に変更する必要があります。可能であれば、WelcomeVC と呼ばれるナビゲーション コントローラーを閉じることができます。この topViewController を変更するにはどうすればよいですか? 私はこれを試しましたが、うまくいきません:
UIStoryboard *ストーリーボード;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
} else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
}
self.EVC = [storyboard instantiateViewControllerWithIdentifier:@"InitialViewController"];
self.EVC.topViewController = [storyboard instantiateViewControllerWithIdentifier:@"HomeVC"];