2010-08-25 73 views
0

試圖在iPad上實現以下行爲。iPhone/iPad/iOS:棘手使用標籤欄控制器

我有一個使用標籤欄界面的以地圖爲中心的應用程序。底部的標籤允許用戶在查看地圖上標記的各種不同類型的點之間進行選擇(例如,將標籤欄項目稱爲「食物」,「住宿」和「氣體」,其中「食物「選項卡顯示該地區所有餐館的列表視圖,等等)。

屏幕的上半部分應始終顯示地圖。屏幕的下半部分是標籤欄應該控制的內容。但是,標籤欄上需要有一個選項卡,可以使地圖全屏顯示(不包括標籤欄本身,而是覆蓋其他所有內容)。

我的衝動是,我需要的是一個總是覆蓋整個屏幕的地圖視圖,然後是一個控制位於地圖視圖頂部的視圖的選項卡控制器,然後當用戶選擇全屏地圖選項卡,內容視圖只是隱藏。但我該怎麼做呢?

謝謝!

回答

1

我會走到目前爲止,說這幾乎不可能使用標準UITabBarController。相反,您應該直接在界面中使用UITabBar,然後將項目的操作直接鏈接到根視圖控制器。該控制器應該相應地佈置內容區域。這可以通過給你的筆尖這樣的結構很容易做到:

- ViewController 
- View 
    - View // place contents here 
    - TabBar 
     - Item1 // link action to ViewController 
     - ... 

根據您希望如何通用的解決方案是,你還可以實現的UITabBarController的自定義子類,做自定義佈局。上述解決方案是最簡單的,可能需要最少的代碼。

+0

我一直希望情況並非如此...更具體地說,我在這裏做的是更新由其他人爲iPhone編寫的應用程序,併爲其提供新的iPad界面......我認爲重新連接整個標籤欄界面可能最終會成爲一個後勤噩夢。 – DanM 2010-08-25 15:34:40

+0

總是有一些黑客解決方案。如果你有一個非常具體的應用程序,並想調整它,你可能會發現一個黑客,讓你更容易。然而,這不是一個乾淨的解決方案;) – 2010-08-25 15:41:00