2012-02-11 23 views
0

実際には1つのビューを持つナビゲーションコントローラであるmodalViewControllerとカスタムナビゲーションバーがあります。モーダルビューは正常に表示されますが、[self dismissModalViewControllerAnimated:YES]を使用してビューから削除しようとすると、「 - [UINavigationController modalViewController]:メッセージが割り当て解除されたインスタンスに送信されました。これを理解できないようです。何か案は?ModalViewControllerと組み込みのナビゲーションコントローラ - 解読できません

ModalViewControllerインスタンス化:

// Make a navigation controller and add the view inside it 
    MyViewController *evc=[[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil]; 
    //UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:evc]; 
    UINib *nib = [UINib nibWithNibName:@"UINavigationBarWithBackgroundImage" bundle:nil]; 
    UINavigationController *nvc = [[nib instantiateWithOwner:nil options:nil] objectAtIndex:0]; 
    [nvc setViewControllers:[NSArray arrayWithObject:evc]]; 
    evc.delegate=self; 
    [evc release]; 
    [self presentModalViewController:nvc animated:YES]; 
    [nvc release]; 

をし、それを削除しようとしています。これについて

[self dismissModalViewControllerAnimated:YES]; 

答えて

0

わからないが、とにかくそれを試してください:

[nvc release] 

を外し、

[self dismissModalViewControllerAnimated:YES]; 

が機能するようになりましたかどうかを確認し、エラーの出番です。

+0

これは非常に奇妙な....それを解決:

はこのような何かを試してみてください!私はnvcが親ビューで所有されていると思っていました。それはモーダルビューだったからです。非常に奇妙な動作ですが、これで問題は解決します。 – Steve

0

このモーダルを示すために2つの別個のペン先をロードする理由はありますか?この機能を利用するには、ナビゲーションコントローラを含むペン先をロードする必要はありません。

// Make a navigation controller and add the view inside it 
MyViewController *evc= [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil]; 

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:evc]; 

evc.delegate=self; 

[self presentModalViewController:navController animated:YES]; 

[evc release]; 
[navController release]; 
+0

ナビゲーションコントローラがカスタムナビゲーションバーイメージを持つクラスから来るので、2つのnibをロードします。これはナビゲーションバーの画像をオーバーライドする最も簡単な方法でした。 – Steve

+0

あなたのアプリがiOS 5のターゲットになっている場合は、カスタムナビゲーションバーの画像を設定する方がはるかに良い方法があります。ここをクリックしてください[UINavigationBar Apple Developer Reference](http://developer.apple.com/library/ios/documentation/uikit/reference/UINavigationBar_Class/Reference/UINavigationBar.html#//apple_ref/doc/uid/TP40006887-CH3) -SW16) –