【问题标题】:How to handle UITabbarItem menu Items with Custom Buttons如何使用自定义按钮处理 UITabbarItem 菜单项
【发布时间】:2014-12-18 12:13:04
【问题描述】:

我有一个具有不同选项卡(具有不同视图控制器)的应用程序。 我使用了 UITabbarController 并隐藏了标签栏,最初有 4 个标签。有时我只需要显示 2 或 3 个不同的选项卡。如何使用按钮隐藏它(使用 tabBar 选择索引)。

4 个标签

其他 3 个标签

2 个标签

【问题讨论】:

  • 您是在情节提要还是代码中创建按钮?
  • 故事板中的 UItabbarController。
  • 你可以为你的按钮创建一个 IBOutlet,然后说 myButton.setHidden = NO;
  • 或者您可以创建一个 NSMutableArray 并根据需要删除对象或添加对象
  • @soulshined:不仅按钮我有 UItabbarController 有 7 个选项卡(每个都有不同的 Viewcontrollers)。起初只显示 4 个选项卡。当在某些条件下点击此选项卡时,选项卡栏会显示 2 个或 3 个选项卡(即不同的视图控制器)。

标签: ios objective-c uitabbarcontroller uitabbar uitabbaritem


【解决方案1】:

维尼什,

这是特定标签栏项目的示例。您可以在 if 语句中的任何位置分配它以保持灵活性。

NSMutableArray *tabbarItems = [NSMutableArray arrayWithArray:[self.tabBarController viewControllers]];
[tabbarItems removeObjectAtIndex:/*Select your bar item[s] you wish to hide*/];
[self.tabBarController setViewControllers:tabbarItems];

或者您可以为栏项目创建一个 IBOutlet,因为您使用了故事板和 setHidden = YES;必要时。

【讨论】:

    【解决方案2】:

    首先你需要存储所有tabBarItem的实例。 UITabBar 的 items 属性将给出它当前包含的所有 UITabbarItems。然后,您可以根据需要在 items 数组中添加/删除 UITabBarItems。

    NSMutableArray * tabBarItems = self.tabBar.items.mutableCopy ;
    

    如果您想删除 facebook 和 twitter 项目,请添加以下行

    [tabBarItems removeObject:self.tabbarItemFacebook];
    [tabBarItems removeObject:self.tabbarItemTwitter];
    
    self.tabBar.items = tabBarItems ;
    

    希望对你有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-09
      相关资源
      最近更新 更多