2010-08-31 25 views
0

我在使用的TabBar導航controllers.Each的TabBar項都與一個單獨的導航controller.Problems被列爲關聯面臨的一些問題如下:問題的TabBar控制器,具有五個以上的TabBar項目

1.有在我的TabBar五個以上的TabBar的項目,以便更加的TabBar產品隨附的default.Now當我點擊了更多的TabBar項,其餘項目都在實現代碼如下這實際上是一個導航控制器的視圖(其自帶默認)。現在時我選擇了任何行,我的新視圖控制器被推入該導航控制器。我希望我的視圖控制器成爲導航控制器。所以有一種情況,比如將導航控制器推到另一個導航控制器的包上。編譯器會獲取困惑,它不是NG。的標籤欄控制器沒什麼每個控制器的

2.Although我已經設置自動尺寸發生在旋轉device.However時,我只保留五個或更少的TabBar項,自動尺寸完美的作品。

3.I在整個應用程序的頂部都需要一個ImagView,所以我在窗口上附加了一個imageview,並增加了tabBar控制器視圖的y座標,以便每個tabBar控制器視圖的導航欄開始在imageview的下面。一切都很好的肖像模式,但只要我旋轉設備imageview消失。而當我再次來到肖像模式imageview不會出現和tabBar控制器的視圖從頂部開始。

我嘗試了所有的辦法(如的TabBar代替的TabBar控制器等),但未能達到任何有幫助的。

回答

0
  1. 我從來沒有聽說過這個問題。你能粘貼一些代碼嗎?另外,您確定視圖更多頁面上的選項卡能正常工作嗎?

  2. 爲了使TBC旋轉,所有每個選項卡的根視圖控制器必須支持旋轉。在每個文件中,確保shouldRotateToInterfaceOrientation:對所有方向返回YES(如果您使用默認的iPhone VC模板,請取出if(interfaceOrientation == UIInterfaceOrientationPortrait)語句和相關的括號)。

  3. 其實我已經做過,相信我,當我說你打開了一罐蠕蟲。要達到此目的,您需要將TBC添加爲頂部具有imageview的視圖的子視圖。您必須手動設置TBC.view框架才能隱藏頂部圖像。最好的方法是:在容器文件的.xib文件中,向上添加圖像視圖,在其下面添加另一個視圖。通過IBOutlet將視圖連接到代碼,並將該幀設置爲TBC.view.frame。然後以編程方式將TBC.view添加爲子視圖。

    但是,通過此解決方案,您必須添加一個willRotateToInterfaceOrientation:duration:方法,該方法在所有TBC的視圖控制器中調用相同的函數,並且所有這些視圖控制器都必須是調用viewWillAppear:和viewDisappear的導航委託:手動。當你這樣做時,旋轉也有點「粘性」,所以要小心。

    我的建議:不要把靜態圖像往上頂。它引發了很多問題,並佔用了大量的屏幕空間,特別是在iPhone的小屏幕上。看看天氣頻道的應用程序,如果你想看看它看起來有多糟糕。

讓我知道如果您有任何問題!

+0

感謝MishieMoo。 第三點的解決方案似乎完全有說服力。 但是對於第二點,我在shouldAutorotateToInterfaceOrientation中返回了YES。 就點1而言:---當我設置我的額外選項卡的控制器(除了在tabbar中顯示的4)是viewController而不是導航控制器,那麼它工作正常 但與導航控制器的東西出錯了 – Anurag 2010-08-31 17:38:21

+0

對於第1點,爲什麼你想要你的導航控制器作爲根?從用戶界面的角度來看,這是一個問題,因爲如果他們在更多導航控制器中點擊「更多」按鈕,則無法加載該選項卡,因爲這是您的位置,因此是問題所在。 至於第2點,更多導航控制器的根視圖可能不會旋轉,並且您無法訪問該視圖。你有沒有想過削減你的標籤或定製更多頁面? – MishieMoo 2010-08-31 18:21:48