如何以编程方式隐藏UITabView应用程序中的某些选项卡?
如何修改 didFinishLaunchingWithOptions
以隐藏某些选项卡,例如
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after app launch.
// Add the tab bar controller's current view as a subview of the window
[self.window addSubview:tabBarController.view];
[self.window makeKeyAndVisible];
return YES;
}
我试着补充一下
for (UIViewController *v in tabBarController.viewControllers )
{
UIViewController *vc = v;
if ([vc isKindOfClass:[FirstViewController class]])
{
FirstViewController *myViewController = vc;
vc.view.hidden = YES;
}
}
但它会删除此视图的内容,并且仍会显示名为first的选项卡 . 如何删除它?
最好的祝福 .
3 回答
使用UIView的
hidden
属性 . 因为每个视图都是从UIView
继承的,严格来说,你不应该做这样的事情 . 标签栏的要点是显示应用程序的绝望部分,而不是上下文敏感部分 . 最好使用UIToolBar来做这类事情 . 尝试根据上下文隐藏各个标签可能会让Apple拒绝您的应用 .
也就是说,如果你必须这样做,那么你需要使用
UITabBarController
的setViewControllers:animated:
方法 . 您无需对FirstViewController
本身做任何事情 .就像是:
我同意“Daniel T.”标签必须留在原位 .
无论如何,我必须修改基于Web服务的选项卡,如果没有记录,则隐藏“配置文件”选项卡 .
作为一个起点:
1)自定义TabBarController创建自定义类
2)实现你的逻辑 . (在示例代码中,我甚至根据网页设置更改图标...)
}