У меня есть UITabBarController, к которому я добавлять и удалять UIViews без какого-либо вопроса следующим образом:Отвергая последнюю вкладку ViewController
Добавление
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), тогда есть (как и следовало ожидать) никаких представлений, отображаемых в контроллере представления вкладок. Когда я добавляю просмотры, вкладки увеличиваются правильно, но когда я удаляю последний (т.е. индекс 0 счетчика 1), тогда вид появляется, чтобы оставаться загруженным, кнопки и метки на последней вкладке остаются видимыми - кажется, нет способа удалить все обратно в состояние «nil», с которого запускается приложение, - несмотря на то, что на контроллере нет никаких вкладок.
Launch (как и следовало ожидать)
Открытие и закрытие вкладки (это где я запутаться) - вы видите вкладка исчезает, но вид остается открытым ...?
Спасибо заранее за любую информацию!
Вы когда-либо устанавливали newArray в виде массива контрольных точек контроллера панели? – rdelmar
Да, я просто не включал эту строку ... – SteveDolphin23