如何以编程方式将tabBarItem链接到viewController(iPhone、iOS)

如何以编程方式将tabBarItem链接到viewController(iPhone、iOS),ios,objective-c,uiviewcontroller,uitabbarcontroller,uitabbaritem,Ios,Objective C,Uiviewcontroller,Uitabbarcontroller,Uitabbaritem,我有一个带有登录系统的应用程序。如果用户自己成功登录,我希望tabBarController在运行时动态更改!我有5个标签(Accueil、Tous les Voyants、铭文、连接、助手) 当用户点击登录按钮时,我想将铭文更改为Achat Jetons,将Connexion更改为Profile,并将另一个ViewController链接到这两个选项卡项 现在,我成功地替换了标签栏的标题和图像徽标。但我不知道如何将ViewController链接到它们!我现在得到的是: - (IBAction

我有一个带有登录系统的应用程序。如果用户自己成功登录,我希望tabBarController在运行时动态更改!我有5个标签(Accueil、Tous les Voyants、铭文、连接、助手)

当用户点击登录按钮时,我想将铭文更改为Achat Jetons,将Connexion更改为Profile,并将另一个ViewController链接到这两个选项卡项

现在,我成功地替换了标签栏的标题和图像徽标。但我不知道如何将ViewController链接到它们!我现在得到的是:

- (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";
}


我已经通过故事板IB创建了2个新的viewController,我只是不知道如何用新的替换旧的链接viewController!谢谢你的帮助!:)

您犯的错误是直接更改选项卡栏控制器的选项卡栏的选项卡栏项。不要!更改选项卡栏控制器的视图控制器。选项卡栏控制器从中获取其选项卡栏项

您可能想阅读我关于此主题的书:

特别注意:

选项卡栏控制器的选项卡栏将自动显示每个子视图控制器的选项卡项


不要做任何事情把事情搞砸!操作视图控制器的
tabBarItem
。操纵选项卡栏控制器的
视图控制器
。不要自己触摸选项卡栏控制器的选项卡栏。

好的,我已经将我的标题属性和图像属性放在相关的viewController本身中。现在,我在登录按钮操作中有了这样的功能:UIViewController*profile=[SceneProfile new];[self.tabBarController setViewControllers:@[profile]];它确实改变了我的菜单,但它显示一个黑色窗口作为内容。(我已经在故事板中创建了我的profile ViewController布局)您介意解释一下如何显示我的布局吗?谢谢你,马特!您已经“在情节提要中创建了您的profile ViewController布局”。但是
[SceneProfile new]
对此一无所知。您需要使用标识符并提取在情节提要中绘制的场景配置文件实例(
instanceeviewcontrollerwhiteIdentifier:
)。或者使用名为“SceneProfile.xib”的nib,而不是故事板。顺便说一句,它可能会帮助您阅读我的书中有关视图控制器的章节:。您将了解什么是视图控制器、从何处获取视图、故事板的真正含义、选项卡栏控制器和其他父视图控制器的工作方式,等等。这些似乎是你不知道的。我要读这一章,谢谢你给我指明了正确的方向!