我改变标签栏控制器有一些困难。基本上我有3个控制器的UITabBarController。第一次当应用程序启动。我改变一个控制器是这样的:UItabBar更改视图控制器
NSMutableArray *muteArray = [[NSMutableArray alloc] init];
FirstPage *online;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
online =[[FirstPage alloc] initWithNibName:nil bundle:nil];
}else{
online =[[FirstPage alloc] initWithNibName:nil bundle:nil];
}
//adding all controllers of tab bar to array
[muteArray addObjectsFromArray:_navigationCotroller.viewControllers];
online.tabBarControllers = [muteArray copy];
//replacing object of login controller to after login controller
[muteArray replaceObjectAtIndex:1 withObject:online];
[online release];
//setting new controllers to tab bar
[_navigationCotroller setViewControllers:muteArray animated:YES];
[muteArray release];
然后在第一页控制器我做了一些改变,然后按OK。现在我需要再次改变控制器,这样做:
NSLog(@"Before change Tab Bar cotrollers = %@",self.tabBarController.viewControllers);
[self.tabBarController setViewControllers:_tabBarControllers animated:YES];
NSLog(@"After change Tab Bar cotrollers = %@",self.tabBarController.viewControllers);
[self.tabBarController.tabBarController setSelectedIndex:1];
_tabBarControllers是控制器时,应用程序启动,我保存的阵列。
此代码更改控制器,但是当我想打开更改的控制器与setSelectedIndex它不起作用。
任何想法?
和打印这样的:
前更改标签栏cotrollers = NULL 后更改标签栏cotrollers = NULL
_navigationCotroller也是你的代码中的错字? –
_navigationCotroller是主要的UITabBarController – Streetboy
介意那里缺少“N”字符;)_navigationCotroller - > _navigationCoNtroller –