0

ログインシステムを備えたアプリケーションがあります。ユーザーが自分で正常にログインした場合、実行時に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つの新しいviewControllerを作成しましたが、古いリンクされたviewControllerを新しいものに置き換える方法がわかりません。ご協力いただきありがとうございます!:)

4

1 に答える 1

0

あなたが犯している間違いは、タブバーコントローラのタブバーのタブバーアイテムを直接変更しているということです。しないでください!タブバーコントローラーのビューコントローラーを変更します。タブバーコントローラは、それらからタブバーアイテムを取得します。

このトピックに関する私の本を読みたいと思うかもしれません:

http://www.apeth.com/iOSBook/ch19.html#_configuring_a_tab_bar_controller

特に注意してください:

タブバーコントローラーのタブバーには、各子ビューコントローラーのtabBarItemが自動的に表示されます。

それを台無しにするために何もしないでください!(あなたはそれを台無しにしています。)ビューコントローラのを操作しますtabBarItem。タブバーコントローラーのを操作しますviewControllers。タブバーコントローラーのタブバーに自分で触れないでください。

于 2013-03-25T17:24:04.690 に答える