有没有办法阻止tabbar项的配置?

时间:2010-01-25 14:51:22

标签: iphone uitabbarcontroller tabbar

我构建了一个包含超过5个标签的标签栏,剩余部分会自动添加到“更多”视图中。这很好,但与此同时,用户可以“编辑”应用程序选项卡的配置。

我不希望用户能够这样做。有没有办法阻止用户这样做?

2 个答案:

答案 0 :(得分:3)

看看UITabBarController documentation。搜索“customizableViewControllers”

  

customizableViewControllers

     

管理的视图控制器子集   通过这个标签栏控制器即可   定制

     

@property(非原子,复制)NSArray   * customizableViewControllers

     

讨论

     

此属性控制中的项目   标签栏可以重新排列   用户。当用户点击更多项目时   在标签栏视图上,自定义   界面出现显示任何项目   不适合主标签栏。   此界面还包含编辑   允许用户使用的按钮   重新排列项目。只有物品   其关联的视图控制器   在这个数组中可以重新排列   这个界面。如果数组为空   或者这个属性的值是nil,   标签栏不允许任何项目   被重新安排。

     

更改的值   viewControllers属性(或者   直接或使用   setViewControllers:animated:method)   也改变了这个的价值   属性。第一次分配时   标签栏控制器,所有视图   控制器可以自定义   默认值。

基本上您需要做的是使用以下代码将值设置为nil:


- (void)applicationDidFinishLaunching:(UIApplication *)application
{
tabBarController.customizableViewControllers=nil;
}

干杯,
VFN

答案 1 :(得分:1)

// '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]];
}
相关问题