хорошо, так что мне не повезло ни с одним из ответов успешно - но я все разобрал, так что подумал, что объясню, как я это сделал, если есть кто-то, кто застрянет, пытаясь сделать то, что я сделал.
каждому tabBarItem на моем контроллере панели вкладок был присвоен тег, который начинался с 0 и, скажем, заканчивался 8. (можно сделать и в IB)
убедитесь, что делегат для tabBarController и т. Д. Все установлен и добавлен следующий метод делегата:
- (void)tabBarController:(UITabBarController *)theTabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed {
NSInteger count = self.tabBarController.viewControllers.count;
NSMutableArray *tabOrderArray = [[NSMutableArray alloc] initWithCapacity:count];
for (UINavigationController *viewController in viewControllers)
{
NSInteger tag = viewController.tabBarItem.tag;
[tabOrderArray addObject:[NSNumber numberWithInteger:tag]];
}
[prefs setObject:tabOrderArray forKey:@"tabOrder"];
[prefs synchronize]; // optional
[tabOrderArray release];
}
(обратите внимание, я использую navControllers поверх ViewControllers в моем приложении, следовательно, для цикла)
так что теперь я смог просто проверить, есть ли в prefs массив с новым порядком вкладок
NSArray * tabBarOrder = [prefs objectForKey:@"tabOrder"];
if(tabBarOrder) { ... }
если бы был порядок панели вкладок, я мог бы получить индекс нужного мне VC с помощью '[tabBarOrder indexOfObjectIdenticalTo: [NSNumber numberWithInt: theViewsTagImAfter]];
и если в prefs не было массива, вы можете смело предположить, что он не перемещался и находится там, где находится.
**
Любой не стесняется разрушить то, как я это сделал, если вы чувствуете, что могли бы сделать это более гладким способом. однако, это работает, и другие предложения не сделали.