我有一个带有动态添加选项卡的 TabBar 控制器。添加选项卡很容易——我只需获取[self viewControllers]
数组,添加一个新的视图控制器,并使用它[self setViewControllers]
来更新 TabBar。现在,我希望能够按下添加的视图控制器之一中的按钮以将其从 TabBar 中删除。
我可以从self
添加的视图控制器与[[self tabBarController] viewControllers]
数组中比较什么,以找到要删除的匹配项?
我不能使用标签的标题,因为可能有重复。我尝试比较self
这些项目,但它实际上[self parentViewController]
在数组中。parentViewController
当在“更多”菜单中打开视图时,我不能使用parentViewController
“更多”视图控制器。我不知道有任何方法可以访问tag
视图的直接父级中的信息,包括 。
任何提示都会很棒,并在此先感谢!
例如,这是我当前的代码。它有效,但是当标签在“更多”菜单中时不行。当 TabBar 中的视图控制器中的按钮被按下时运行:
NSMutableArray *temp = [[NSMutableArray alloc] initWithArray:[[self tabBarController] viewControllers]];
for (int i = 0; i < [temp count]; i++)
{
UIViewController *test = [temp objectAtIndex:i];
if (test == [self parentViewController])
{
[temp removeObject:test];
break;
}
}
[[self tabBarController] setViewControllers:temp];