2012-04-02 12 views
0

モーダルビューコントローラを表示した後に白い画面が表示されます。私はSomeViewControllerでそれを設定としてモーダルビューコントローラを表示した後の白い画面

SomeViewController *controller = [[[SomeViewController alloc] initWithManagedObjectContext:managedObjectContext] autorelease]; 
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:controller] autorelease]; 
[navController setModalTransitionStyle:UIModalTransitionStyleCoverVertical]; 
[self presentModalViewController:navController animated:YES]; 

ナビゲーションバーは、正常に動作しますが、ビューの内容が表示されていない、と私は見るすべては、ルートウィンドウの白い背景色である:これは、私はそれを行う方法です。

奇妙なことは、これは以前から働いていたことですが、今は何らかの理由でそれがないということです。 何が問題なのでしょうか?

EDIT:

は、これは私がSomeViewControllerを作成する方法である:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self setTitle:@"Some View"]; 

    UIBarButtonItem *sortButton = [[[UIBarButtonItem alloc] initWithTitle:@"Sort" style:UIBarButtonItemStylePlain target:self action:@selector(sortButtonClicked:)] autorelease]; 
    [[self navigationItem] setRightBarButtonItems:[NSArray arrayWithObjects:sortButton, [self editButtonItem], nil] animated:YES]; 

    UIBarButtonItem *backButton = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(dismissModalViewControllerAnimated:)] autorelease]; 
    [[self navigationItem] setLeftBarButtonItem:backButton]; 

    // Hack to force landscape orientation 
    UIViewController *controller = [[UIViewController alloc] init]; 
    [self presentModalViewController:controller animated:NO]; 
    [self dismissModalViewControllerAnimated:NO]; 
    [controller release]; 
} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
} 

- (void) viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return UIInterfaceOrientationIsLandscape(interfaceOrientation); 
} 
+0

ブレークポイントを使用して 'SomeViewController * controller'にメモリがあるかどうかを確認します。 – tipycalFlow

+0

適切なメモリアドレスが割り当てられます。実際、View Controllerのメソッドは適切に呼び出されます(viewDidLoadなど)。 – Gerstmann

+0

'SomeViewController'の作成方法のコードを投稿できますか? – tipycalFlow

答えて

1

コントローラーのxib filetarget(対象メンバーシップのチェックボックスがオフ)になっているために白い画面が表示されました。

-1

は、それが正常に動作する必要があり

SomeViewController *controller = [[[SomeViewController alloc] init] autorelease]; 

を試してみてください。

+0

それはありません。ビューの内容はまだ表示されません。 – Gerstmann

+0

SomeViewControllerとナビゲーションコントローラ –

+0

omgのautoreleaseを削除します。あなたは彼に何をアドバイスしますか? – Gargo

0

SomeViewControllerクラスでも、他のinitにも対応してもらえますか? .mファイル全体を投稿してください。その場合は、initWithNibNameメソッドを削除し、内容が表示されているかどうかを確認してください。

編集: もう1つの奇妙な点は、viewControllerインスタンスで使用しているinitWithManagedObjectContextメソッドです。あなたはそれを説明できますか?

+0

私は他のinitメソッドも定義していません。デフォルトのinit(オーバーライドされていない)でも、動作しません。 – Gerstmann

+0

デフォルトのinitメソッドを持つべきではありません。削除してください... – o15a3d4l11s2

+0

'initWithManagedObjectContext'をデフォルトの' init'に変更しました。問題は発生しません。 – Gerstmann

関連する問題