2012-01-03 91 views
0

我讀了這個問題的幾個答案,但無法弄清楚如何做到這一點。我使用帶有ARC的Xcode 4.2,並且沒有故事板。如何隱藏UITabBar並顯示UIToolBar?

我正在開發基於TabBar應用程序模板的應用程序,並將其擴展爲包含4個UITabBars。我沒有使用UINavigationController,而是在狀態欄旁邊使用UINavigationBar。當應用程序加載顯示的第一個標籤時,我在UINavigationBar上有一個按鈕,當我按下它時,我想要隱藏UITabBar,而不是在UITabBar所在的同一位置顯示UIToolBar

我試圖隱藏和顯示使用隱藏屬性(隱藏UITabBar和顯示UIToolBar)。 UITabBar隱藏,但UIToolBar顯示在UITabBar之前顯示的位置上方。這看起來很醜,我希望它顯示在屏幕的最底部。

我想我不能使用hidesBottomBarWhenPushed,因爲我不使用UINavigationController而是直接使用導航條。

另外,當按下UINavigationBar上的相同按鈕時,我想恢復顯示UITabBar並隱藏UIToolBar

+0

你可以分享你的代碼,你可以發佈你如何創建的UIToolBar「幀」? – CarlJ 2012-01-03 16:37:57

+0

UITabBar以編程方式創建(由UITabBar應用程序模板完成)。我用IB將UIToolBar拖動到xib文件上,並在.h文件中添加了IBOutlet,並在第一個選項卡中顯示的UIViewController上的.m文件中進行了合成。使用綜合屬性,我能夠顯示工具欄。我沒有使用任何代碼來操縱工具欄的框架。請指教。 – Hema 2012-01-03 17:59:00

+0

我不知道這個的總體上下文,但是在你的tabBarController上提供一個'模態UIViewController'是一個更合理的用戶體驗嗎? – 2012-01-03 18:03:42

回答

1

我不確定我的想法是否適合您的方案。這是...

但在此之前,讓我告訴你,隱藏UITabBar,不像隱藏UINavigationBar沒有設置動畫。所以對我來說,隱藏tabBar並不是一種用戶友好的方法,除非你創建了自己的UITabBarController的子類,這些子類動畫隱藏了UITabBar

您可以使用presentModalViewController:animateddismissModalViewControllerAnimated:方法。正在模態顯示的viewController可以有一個UINavigationBar,它從屏幕底部彈出,並用動畫覆蓋UITabBar

希望有所幫助。

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

+0

你是男人。我遵循你所說的話,這絕對有道理。該應用程序現在看起來很酷,運行非常好。感謝您的提示,但! – Hema 2012-01-05 06:13:13