我構建了一個帶有5個以上選項卡的tabbar,剩餘部分自動添加到「更多」視圖中。這很好,但與此同時,用戶能夠「編輯」應用程序選項卡的配置。有沒有辦法阻止tabbar項目的配置?
我不希望用戶能夠做到這一點。有沒有辦法阻止用戶這樣做?
我構建了一個帶有5個以上選項卡的tabbar,剩餘部分自動添加到「更多」視圖中。這很好,但與此同時,用戶能夠「編輯」應用程序選項卡的配置。有沒有辦法阻止tabbar項目的配置?
我不希望用戶能夠做到這一點。有沒有辦法阻止用戶這樣做?
看看UITabBarController documentation。搜索「customizableViewControllers」
customizableViewControllers
視圖控制器的子集由可以 定製這個選項卡欄控制器管理 。
@屬性(非原子,複製)的NSArray * customizableViewControllers
討論
這其中在 標籤欄項可以由用戶 被重新安排屬性控制。當用戶在標籤欄視圖上點擊更多項目 時,會出現一個自定義的 界面,顯示任何不適合主標籤欄的項目 。 此界面還包含一個編輯按鈕,允許用戶重新排列項目 。只有 其相關視圖控制器在此陣列中的 可以從此接口的 重新排列。如果數組爲空 或此屬性的值爲零,則選項卡欄不允許重新排列任何項目 。
(直接地或者 或使用 setViewControllers:動畫:方法)改變 viewControllers屬性的值 也改變此 屬性的值。當第一個分配給 標籤欄控制器時,所有視圖 控制器都可以通過 默認定製。
基本上你所要做的是使用下面的代碼,將值設置爲nil:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
tabBarController.customizableViewControllers=nil;
}
乾杯,
VFN
// 'Move view' customization
// MORE tab bar items 'More view'
- (void)applicationDidFinishLaunching:(UIApplication *)application {
self.tabBarController.customizableViewControllers=nil;
UIViewController * moreController =
[[self.tabBarController.moreNavigationController viewControllers] objectAtIndex:0] ;
UITableView * moreTableView = (UITableView *) [moreController view];
[moreTableView setSeparatorColor:[UIColor redColor]];
[moreTableView setBackgroundColor:[UIColor yellowColor]];
}
第一篇文章 - 我錯過了格式的東西。但它的工作 – 2011-10-07 17:17:44
注意請,您必須tabBarController在此步驟之前定義或它不會工作.. – Jann 2010-02-21 07:52:09