2011-10-21 5 views
0

私は一日中研究していますが、このエラーメッセージに関してrootViewControllerについて何も見つかりませんでした。私は問題が何であるかは知っていますが、それをどのように修正するか分かりません。私の問題は、私のwindow.rootViewControllerが接続されていないか、nullが表示されていて、何をすべきか分かりません。私はコードとIBで考えることができるすべてを試しましたが、何かを変えるたびに悪いことが起こります。これは私が得るメッセージです:nil rootViewControllerをターゲット<UINavigationControllerにプッシュ

を「アプリケーションがターゲットUINavigationControllerにはnilビューコントローラをプッシュしようとした」私はのNSLogステートメントからwindow.rootViewControllerを見ることができます: 「window.rootViewController:(ヌル)」

もちろん、Xcodeを4.2とios5にアップグレードする前に、すべてが完璧に動作していました。 :)

btw - ビューはロードされますが、ボタンのいずれも操作できません。まったく点灯しません。私のナビゲーションもうまくいきます。ここ

は私appDelegateある

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

[DDLog addLogger:[DDTTYLogger sharedInstance]]; 
NSLog(@"Viewcontroller : %@", self.viewController); 

// Set the view controller as the window's root view controller and display. 
//self.window.rootViewController = self.viewController; 
//do it this way, previous version not supported in ios5 - may need to check version for compatibility 
[self.window addSubview:self.viewController.view]; 

//set up navigation controller 
NSLog(@"window.rootViewController : %@", self.window.rootViewController); 
navigationController = [[UINavigationController alloc] 
         initWithRootViewController:self.window.rootViewController]; 
navigationController.navigationBarHidden = YES; 

NSLog(@"navigationController : %@", navigationController); 
[window addSubview:navigationController.view]; 
[window makeKeyAndVisible]; 

//force this view to be landscape 
[application setStatusBarOrientation: UIInterfaceOrientationLandscapeRight animated:NO]; 
[self.navigationController.view setTransform: CGAffineTransformMakeRotation(M_PI/2)]; 
[self.navigationController.view setFrame:CGRectMake(0, 0, 748, 1024)]; 
[UIView commitAnimations]; 


return YES; 

}

ありがとうございます。ドキュメントによれば

答えて

0

議論 ルート・ビュー・コントローラは、ウィンドウのコンテンツビューを提供します。このプロパティにビューコントローラを割り当てる(プログラムまたはInterface Builderを使用)と、ビューコントローラのビューがウィンドウのコンテンツビューとしてインストールされます。ウィンドウに既存のビュー階層がある場合、古いビューは新しいものがインストールされる前に削除されます。

nibファイルが接続されていることを再度確認してください。

「アプリケーションは、ターゲットUINavigationControllerでnil View Controllerをプッシュしようとしましたが、あなたのVCリファレンスが失われているようです。このプロパティはどのように設定されていますか?それは保持されていますか?

ここにドキュメントがあります。

http://developer.apple.com/library/ios/documentation/uikit/reference/UIWindow_Class/UIWindowClassReference/UIWindowClassReference.html#//apple_ref/doc/uid/TP40006817-CH3-SW33

+0

はい、それはIVARだ、)(deallocをリリースし、その後に保持。それが接続されています。 – LittlePeculiar

関連する問題