【问题标题】:How to add a view over a selected view controller in a TabBarController?如何在 TabBarController 中的选定视图控制器上添加视图?
【发布时间】:2014-05-25 16:57:12
【问题描述】:

我有一个应用程序,其中有一个带有 4 个导航控制器的标签栏控制器。

_tabbarcontroller = [[UITabBarController alloc] init];
_tabbarcontroller.viewControllers = [NSArray arrayWithObjects:vcontroller,xnav,ynav,znav,nil];

一切正常。现在我想在选项卡栏中选择第 0 个项目时在所选视图控制器上添加一个视图;这必须在 tabbarcontroller 上。我尝试了什么:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    NSUInteger selectedIndex = [_tabbarcontroller.viewControllers indexOfObject:self];
    UITabBar *tabBar = self.tabbarcontroller.tabBar;
    UITabBarItem *item0 = [tabBar.items objectAtIndex:0];

    if(tabBar.selectedItem==item0)
    {
        tabBarController.selectedIndex=selectedIndex;
        FViewController *fviewcontroller =[[FViewController alloc] initWithNibName:@"FViewController" bundle:nil];
        [_tabbarcontroller.view addSubview: fviewcontroller.view];
    }
}

但这似乎不对。我希望将它添加到当前选定的视图控制器上,并且在选择外部时,该小视图也需要删除它。有人可以指导我吗?

【问题讨论】:

  • 你想展示什么样的视图?它有多个 UIControl 元素吗?或者,只是为了显示静态数据?
  • @它是一个带有 3 个按钮的小视图,通过保留为覆盖...以便可以看到背景...
  • 你可以参考这个stackoverflow answer。我想这就是你要找的。​​span>

标签: ios uitabbarcontroller


【解决方案1】:

实现这一点的简单方法是使用 Popup 并显示标签栏控制器的第 0 个索引。 在
中添加此弹出窗口 tabbarcontroller.selectedViewController.view 当tabbarcontroller的selected index为0时。

【讨论】:

  • 在第 0 个索引中,选定的视图控制器总是第 0 个
猜你喜欢
  • 2012-02-11
  • 1970-01-01
  • 1970-01-01
  • 2018-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多