我有一个使用登录系统的应用程序。如果用户成功登录,我希望tabBarController在运行时动态更改!我有5个标签(Accueil,Tous les Voyants,Inscription,Connexion,Aide)。
当用户点击登录按钮时,我想将Inscription更改为Achat Jetons和Connexion更改为Profile,并将另一个ViewController链接到这两个tabBarItems!
现在,我已成功设法替换标签栏的标题和图片徽标。但我不知道如何将viewControllers链接到它们!这就是我现在所得到的:
- (IBAction)BTN_ConnexionClick:(id)sender {
UITabBarController *tabBarController = (UITabBarController *)self.tabBarController;
UITabBar *tabBar = tabBarController.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:2];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:3];
[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"menu_iOS_achat.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"menu_iOS_achat.png"]];
[tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"menu_iOS_profile.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"menu_iOS_profile.png"]];
tabBarItem1.title = @"Achat Jetons";
tabBarItem2.title = @"Profile";
}
我通过StoryBoard IB创建了2个新的viewControllers,我只是不知道如何用新的替换旧的链接的viewController!谢谢你的帮助! :)
答案 0 :(得分:0)
您犯的错误是您正在直接更改标签栏控制器的标签栏的标签栏项目。别!更改选项卡栏控制器的视图控制器。标签栏控制器从中获取标签栏项。
您可能想阅读有关此主题的书籍:
http://www.apeth.com/iOSBook/ch19.html#_configuring_a_tab_bar_controller
特别注意:
标签栏控制器的标签栏将自动显示每个子视图控制器的tabBarItem
不要做任何事搞砸了! (你搞砸了。)操纵视图控制器的tabBarItem
。操纵标签栏控制器的viewControllers
。请勿亲自触摸标签栏控制器的标签栏。