2010-05-11 60 views
0

我陷入了一個非常簡單的問題。我害怕我的問題可能會惹惱一些人。 我正面臨的問題是,我想添加UITabBar控制到我的iphone應用程序以外的主屏幕。添加UITabBar控件!

讓我解釋一下,我已經成功完成了一切 在主窗口的xib中添加了一個IB的UItabbar控件,在後端添加了一個變量,通過拖動該行來關聯它。還添加了一個UIWindow變量並寫下這些行。

[window addSubview:tabBarController.view]; 
[window makeKeyAndVisible]; 

當我啓動應用程序時,出現一個空白窗口,標籤欄顯示在其底部。但問題是不希望標籤欄顯示在我的第一個屏幕(或主屏幕上,你叫它)。它實際上是我的應用程序的第3個,第4個屏幕,我希望標籤欄顯示在底部。它太奇怪了,TabBar控件變量被添加到應用程序的應用程序委託文件中。任何人都可以幫忙嗎? 謝謝!

你要添加的TabBar控制器到窗口泰穆爾

回答

1

不幸的是,的UITabBarController文檔指出以下:

當部署ta b酒吧界面, 您必須安裝此視圖作爲您的窗口的根 。與其他視圖 控制器不同,標籤欄界面 決不能作爲其他視圖控制器的子項 安裝。

雖然在技術上可以將UITabBarController的視圖添加爲UIWindow以外的子視圖,但您會發現它提供了比您預期的更多的挑戰。例如,由於UITabBarController假定其視圖的父視圖是全屏UIWindow,因此它會將其框架偏移20個像素以適應狀態欄。因此,我建議你想出一個設計,如果可能的話,你的UITabBarController的視圖是UIWindow的子視圖。這並不一定意味着它需要成爲第一個顯示的視圖。您可以隨時在applicationDidFinishLaunching以外的位置添加和刪除UIWindow的子視圖:

0

,使用

[self.view addSubview:tabBarController.view]

,而不是你上面兩行