0

UINavigationControllerにUIViewControllerを追加し、UINavigationControllerにUIPopoverControllerのビューを設定しています。 popoverControllerの上部にナビゲーションバーが表示されない点を除いて、すべてがうまくいっています。私はこのようなすべてのものを作成しています:UINavigationControllerをUIPopoverControllerに配置したときにnavigationBarが表示されない

QueryViewController *puvc = [[QueryViewController alloc] autorelease]; 
UINavigationController *nc = [[UINavigationController alloc] autorelease]; 
[nc pushViewController:puvc animated:YES]; 

self.popUp = [[[UIPopoverController alloc] initWithContentViewController:nc] autorelease]; 
[self.popUp presentPopoverFromBarButtonItem:[self.toolbarItems objectAtIndex:0] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
self.popUp.delegate = self; 

私はnavigationBarHidden = NOを設定しようとした、それはまだ表示されません。私は私のQueryViewControllerの私のviewDidLoadでこのコードを持っている:私はnavigationBarを表示するために欠けている何かが

self.contentSizeForViewInPopover = CGSizeMake(500.0, 500.0); 
self.title = @"Queries"; 

ありますか?私はすでに私のメイン画面用のUINavigationControllerに入っていますが、これは私の問題の一部になる可能性がありますか?

+0

私は同様の問題を扱っています。私は日付ピッカーとナビゲーションバー(完了ボタン付き)と、カスタムビューペン先を作成しました。しかし、iOS 5上でappを実行すると正しく動作しましたが、ios 4.3ではナビゲーションバーが表示されていましたが、棒アイテムボタンは表示されませんでした。それは私のために本当に奇妙だった.. – Mrunal

+0

誰もがそのような問題に直面している。同じコード/ペン先はiOS 5でもうまくいきましたので、何をすればいいですか? – Mrunal

答えて

1
QueryViewController *puvc = [[QueryViewController alloc] autorelease]; 
UINavigationController *nc = [[UINavigationController alloc] autorelease]; 

コードが間違っている可能性があります。 initはどこですか?

QueryViewControllerUINavigationControllerの両方を初期化する必要があります。 2回目の使用についてはinitWithRootViewControllerメソッド。

QueryViewController *puvc = [[[QueryViewController alloc] init] autorelease]; 
UINavigationController *nc = [[[UINavigationController alloc] initWithRootViewController:pucv] autorelease]; 
//[nc pushViewController:puvc animated:YES]; 

initWithRootViewControllerを使用する場合、puvcインスタンスをプッシュする必要はありません。

これも試してみることができます(私はメモリを解放したい、autoreleaseを使わないでください)。

QueryViewController *puvc = [[QueryViewController alloc] init]; 
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:pucv]; 
//[nc pushViewController:puvc animated:YES]; 

次に、あなたのコードスニペットの最後にpuvcncを解放することを忘れないでください。

[puvc release]; 
[nc release]; 

P.S.私はXcodeなしで書いたので、コードを確認してください。

+0

initWithRootViewControllerを使用して、pushViewControllerを削除すると、あなたの助けに感謝します! – Millec8

関連する問題