CustomTabBar(3タブ)、ナビゲーションバー、SplitViewコントローラーを備えたiPad用のアプリケーションに取り組んでいます。
アプリケーション画面のフォロー:
1-ログイン画面(SplitViewに表示)>>パスワードを忘れた(ログインナビゲーションを押す)
2-ログインナビゲーションでプッシュされた場合、パスワードを忘れると、パスワードがポップされ、ログインが成功するとログインが解除されます。
3-ログインに成功すると、SplitViewが表示されます。
AppDelegateでのコーディング方法:
self.detailViewController = [[[DetailViewController alloc] initWithNibName:@ "DetailViewController" bundle:nil] autorelease]; UINavigationController * detailNavigationController = [[[UINavigationController alloc] initWithRootViewController:self.detailViewController] autorelease];
customTabBarCont = [[CustomTabBarController alloc] init];
self.splitViewController = [[[UISplitViewController alloc] init] autorelease];
self.splitViewController.delegate = self.detailViewController;
NSArray *viewControllers = [[[NSArray alloc] initWithObjects:customTabBarCont,detailNavigationController, nil] autorelease];
self.splitViewController.viewControllers = viewControllers;
self.detailViewController.splitViewController = self.splitViewController;
self.window.rootViewController = self.splitViewController;
[self.window makeKeyAndVisible];
loginVC = [[[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil] autorelease];
UINavigationController *loginNavigationController = [[[UINavigationController alloc] initWithRootViewController:loginVC] autorelease];
[self.splitViewController presentViewController:loginNavigationController animated:NO completion:nil];
サインアウトの機能を提供したSettingViewControllerがあります。
ユーザーがPortraitからサインアウトし、LandscapeViewにログインすると問題が発生します
サインアウトのコーディング方法
self.loginVC = [[[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil] autorelease];
if ([app_delegate.detailViewController.masterPopoverController isPopoverVisible]) {
[app_delegate.detailViewController.masterPopoverController dismissPopoverAnimated:NO];
}
UINavigationController *loginNavigationController = [[[UINavigationController alloc] initWithRootViewController:self.loginVC] autorelease];
再び回転すると、すべてがうまくいきます。しかし、この問題を解決する方法。または私が間違っているところ。