2012-03-18 14 views
1

スプリットコントローラのビューをAppDelegateで呼び出そうとしていますが、表示されません。最初のiPadアプリケーション:直面している問題

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
// Override point for customization after application launch. 

SplitViewController *splitViewController = [[SplitViewController alloc] initWithNibName:@"SplitViewController" bundle:nil]; 
self.navigationController = [[UINavigationController alloc] initWithRootViewController:splitViewController]; 
self.window.rootViewController = self.navigationController; 
[self.window makeKeyAndVisible]; 
return YES; 

と私は色の赤ビューでSplitViewController.xibています。ここdidfinishlaunchwithoptionsで書かれたコードです。しかし、iPadのシミュレータは黒い画面で表示されます。

問題の原因を確認してください。

おかげ

+0

あなたが得ていますコンソールにエラーや出力がありますか?おそらく、xibファイルの "view"プロパティが設定されていないか、そのようなものです。 – borrrden

+0

いいえ私はそれを世話していますが、別のものです: スプリットビューコントローラをナビゲーションコントローラにプッシュすることはできません。 – turtle

+0

http://stackoverflow.com/questions/6855454/how-can-we-push-uisplitviewcontroller-to-a-uinavigationcontroller – borrrden

答えて

3

スプリットビューコントローラは、これはここで重要であるナビゲーションコントローラ

にプッシュすることはできません。スプリットビューコントローラをウィンドウに直接追加してみてください。

self.window.rootViewController = self.splitViewController; 
+0

はい、私もこの方法を試しました。しかし、失敗しました。おかげで.. :) – turtle

+0

私のSplitViewControllerクラスはUISplitViewControllerのサブクラスです、私はここで何か間違いはないと思いますか? – turtle

+0

2012-03-18 09:30:56.475 MapApp [707:f803] Splitviewコントローラは、使用前にマスタービューコントローラを持つことが期待されています。 2012-03-18 09:30:56.477 MapApp [707:f803] Splitviewコントローラは、使用前に詳細の子を持つことが予想されます。 2012-03-18 09:30:56.478 MapApp [707:f803]分割ビューコントローラは、レイアウト前に子を設定する必要があります。 – turtle

1

あなたはペン先で正しく表示を設定していません。スプリットビューコントローラには、マスタービューと詳細ビューの2つのビューセットが必要です。ビューコントローラが決して作成されないように、詳細ビューは設定されていません。

The docs on UISplitViewControllerviewControllersプロパティを正確に2つのビューに設定する必要があることを示します。私はあなたが1つだけを設定している(赤いビュー)と想像します。

編集:コメントで(ビューが正しく設定されていない)の前に、それは私が言ったことに近いですので、あなたが....いずれかのマスター・ビューを設定しなかった

+0

ありがとうborrrden .. :) – turtle

0
AppDemoMasterViewController *masterViewController = [[[AppDemoMasterViewController alloc] initWithNibName:@"AppDemoMasterViewController_iPad" bundle:nil] autorelease]; 

UINavigationController *masterNavigationController = [[[UINavigationController alloc] initWithRootViewController:masterViewController] autorelease];  

AppDemoDetailViewController *masterViewController = [[[AppDemoDetailViewController alloc] initWithNibName:@"AppDemoDetailViewController_iPad" bundle:nil] autorelease]; 

UINavigationController *detailNavigationController = [[[UINavigationController alloc] initWithRootViewController:detailViewController] autorelease]; 

self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil]; 

self.window.rootViewController = self.splitViewController; 
関連する問題