xcode 4.5.2 の master-detail テンプレートを使用しています。のままにしておくUINavigationController
のrootViewController
ではなくUIWindow
、ビューとして単純なスプラッシュ スクリーンを備えた独自の ViewController に置き換えています。スプラッシュ画面が表示された後、 を(マスターと を含む)navigationController
としてプッシュしたいと思います。self.window.rootviewController
detailViewControllers
問題は、私ViewController
が初期化さviewDidLoad
れ、呼び出されていますが、そのビューです (スプラッシュ画面が表示されません)。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{LoginViewController *loginViewController = [[[LoginViewController alloc] initWithNibName:@"LoginViewController_iPhone" bundle:nil] autorelease];
// loginViewController.masterViewController = loginViewController;
[self.window setRootViewController:loginViewController];
[self.window addSubview:loginViewController.view];
if (BOOL condition is YES)
{
MasterViewController *masterViewController = [[[MasterViewController alloc] initWithNibName:@"MasterViewController_iPhone" bundle:nil] autorelease];
self.navigationController = [[[UINavigationController alloc] initWithRootViewController:masterViewController] autorelease];
//self.window.rootViewController = self.navigationController;
}
はLoginViewController
、スプラッシュ スクリーン付きのカスタム コントローラーです。では、ナビゲーション コントローラーを使用しているときにアプリ デリゲートから起動画面を変更するにはどうすればよいでしょうか。(マスター/ディテール テンプレート)