2011-07-25 38 views
5

我想使用addSubview方法在屏幕上添加新視圖。但是,新視圖還必須包含導航欄等,這意味着它應該包含整個屏幕。我該怎麼辦?Xcode在整個屏幕上面添加子視圖

每當我嘗試添加子視圖時,它總是顯示導航欄下的新視圖。

我不想使用pushViewController或presentModelViewController,因爲新添加的視圖將是低透明度,我可以看到背景,但我不想與像酒吧按鈕表等背景對象交互。 對不起,我希望英語,我希望,我清楚地告訴了什麼問題。

回答

16

只需設置您之前添加的視圖的frame屬性,並將其設置爲屏幕邊界。

[myView setFrame:[[UIScreen mainScreen] bounds]; 
[self.navigationController.view addSubview:myView]; 

如果你想與導航欄禁用互動:

[self.navigationController.navigationBar setUserInteractionEnabled:NO]; 
+1

沒有工作,仍然沒有涵蓋導航欄。整個屏幕除了導航和狀態欄 – Nacrug

+0

誰是'addSubview:'在你的實現中的接收者? – 2011-07-25 13:47:00

+0

啊我的錯誤,我試圖添加子視圖self.view。它解決了我的問題。但是,即使新的視圖覆蓋導航欄,它也會與導航欄按鈕進行交互。有沒有機會削減交互或我應該禁用編程方式所有的按鈕,表格等每當我添加子視圖 – Nacrug

1

你可以在添加你的根窗口上方的另一的UIWindow看一看。

0

,當我試圖做navigationController.view addSubview,它不會支付我的標籤欄,所以我做了與我的應用程序委託的窗口如下:

[self.window addSubview:myView]; 

,如果你需要從另一個類訪問您的appDelegate ,你只需導入你的應用程序委託並從中調用它。

相關問題