我有一个 UITabBarController,我可以通过以下方式添加和删除 UIView,没有任何问题:
添加
FileTabViewController* newTab = [[FileTabViewController alloc] initWithNibName:@"File" bundle:nil];
NSMutableArray* array = [NSMutableArray arrayWithArray:bar.viewControllers];
[array addObject:newTab];
[bar setViewControllers:array animated:YES];
[bar setSelectedIndex:bar.viewControllers.count-1];
删除(在 FileTabViewConroller.m 中)
NSMutableArray* newArray = [NSMutableArray arrayWithArray:self.tabBarController.viewControllers];
[newArray removeObject:self];
[self.tabBarController setViewControllers:newArray animated:YES];
这段代码完全符合我的预期,但存在我无法解释的异常情况。当应用程序启动并且视图控制器数组为空(nil)时,(如您所料)选项卡视图控制器中没有显示任何视图。当我添加视图时,选项卡会正确增加,但是当我删除最后一个(即计数 1 的索引 0)时,视图似乎保持加载状态,最后一个选项卡上的按钮和标签仍然可见 - 似乎没有办法将所有内容移回应用程序启动时的“无”状态 - 尽管控制器上实际上没有显示任何选项卡。
启动(如您所料)
打开和关闭选项卡(这是我感到困惑的地方) - 你看到选项卡消失但视图仍然打开......?
提前感谢您的任何意见!