我构建了一个包含超过5个标签的标签栏,剩余部分会自动添加到“更多”视图中。这很好,但与此同时,用户可以“编辑”应用程序选项卡的配置。
我不希望用户能够这样做。有没有办法阻止用户这样做?
答案 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]];
}