我有一個使用標準UITabBarController構建的iPhone應用程序。這個應用程序是使用標準的XCode項目模板創建的。UITabBarController的子類,替換了TabBar並有顯示問題
現在,我有一個要求改變UITabBar看起來非常不同。我決定採取的方法是這樣的:
在我的AppDelegate:
for (UIView *view in tabBarController.view.subviews) {
if([view isKindOfClass:[UITabBar class]]) {
view.hidden = YES;
break;
}
}
這個工程,使標籤欄隱藏。接下來,我分類了UITabBarController
,並添加了一個UIToolbar
以及一些自定義組件。在我的子類UITabBarController
中,我設置了自己的代碼,以便在選擇其中一個自定義對象時,代碼只需調用[self setSelectedIndex:n]
即可更新UI。
所以我基本上有一個UITabBarController,但我通過一個新的用戶界面來控制它。
問題是我的新組件不像正常UITabBar
那麼高,UITabBarController似乎沒有自動調整視圖的大小。我其實會期待這種行爲,但我無法弄清楚如何更改UITabBarController的「內容框架」。有任何想法嗎?
你可以嘗試「tabBarController.tabBar.hidden = YES」,這會容易得多。 – iwat 2010-02-03 09:05:39
請注意,在Apple的UITabBarController類文檔中指出:「此類不適用於子類。」 – 2010-05-13 00:02:35
如果您想使tabbarcontroller可以旋轉,則子類化是必需的。默認情況下,它不會將旋轉事件傳遞給其子控制器。 – futureelite7 2011-05-31 00:50:58