2011-05-14 53 views
1

我用下面的代碼在窗口上顯示一個視圖(ViewController)。UINavigationBar出現在狀態欄下20分

ViewImagesController *vvViewImagesController=[[ViewImagesController alloc] init ]; 
self.vViewImagesController=vvViewImagesController; 
[vvViewImagesController release]; 
UINavigationController *a=[[UINavigationController alloc]initWithRootViewController: vViewImagesController]; 
[self.view addSubview:a.view]; 

但導航欄出現在狀態欄20點以下。

enter image description here

即使我使用以下碼:

[a.view setFrame:CGRectMake(0.0f, 0.0f, 320.0f, 480.0f)]; 

移居視圖,但結果是相同的。

歡迎任何評論

+0

+1:我有同樣的問題,正準備發佈一個問題!感謝提問 - 我會很樂意看到一些答案。對於那些對更多信息感興趣的人(至少在我的情況下),包含'UINavigationBar'(即UINavigationController的'view'出口)的視圖是合適的大小,但是「NavigationBar」偏移20px從該視圖的頂部向下。這與編程地搞亂狀態欄無關 - 我從未碰過它。 – Mac

+0

請給出更多的上下文:誰是'self',你是從一個筆尖加載的?,如果是的話,那麼筆尖有什麼。也許如果你發佈了一個xcproj,我可以幫你解決。 (順便說一句,你似乎在泄漏兩個VC,儘管這不會導致這個問題)。 –

+0

self是rootViewController,它有它自己的插座視圖,我添加了vViewImagesController.view到這個視圖 – monsabre

回答

0

會轉而

ViewImagesController *vvViewImagesController = [[ViewImagesController alloc] init]; 
UINavigationController *a = [[UINavigationController alloc] initWithRootViewController:vvViewImagesController]; 

[self presentModalViewController:a animated:YES]; 

[vvViewImagesController release]; 
[a release]; 
1

這裏就是你需要做的事。這是1號線和它的作品:

在viewDidLoad中在vvViewImagesController:

[self.view setFrame: [self.view bounds]]; 

嗖!

相關問題