로그인 시스템이있는 응용 프로그램이 있습니다. 사용자가 성공적으로 로그인하면 tabBarController가 런타임에 동적으로 변경되기를 원합니다. 5 개의 탭 (Accueil, Tous les Voyants, Inscription, Connexion, Aide)이 있습니다.프로그래밍 방식으로 tabBarItem을 viewController에 연결하는 방법 (iPhone, iOS)
사용자가 로그인 버튼을 누르면, Inscription을 Achat Jetons로 변경하고 Connexion을 Profile로 변경하고 다른 ViewController를이 두 tabBarItems에 연결하고자합니다!
지금 당장 탭 바의 제목과 이미지 로고를 바꿀 수있었습니다. 하지만 난 그들에게 viewController 링크하는 방법을 몰라! 여기에 내가 지금 가지고있는 작업은 다음과 같습니다
나는 스토리 보드 IB를 통해 2 개 개의 새로운 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";
}, 난 그냥 새로운 사람과 오래된 링크의 ViewController를 교체하는 방법을 모르겠어요! 당신의 도움을 주셔서 감사합니다! :)
좋아, 난 내 title 속성과 내 image 속성을 해당 viewController 자체에 넣었다. 이제 로그인 버튼 동작에 다음과 같이 표시됩니다. UIViewController * profile = [SceneProfile new]; [self.tabBarController setViewController : @ [프로필]]; 내 메뉴는 바뀌지 만 검은 색 창이 콘텐츠로 표시됩니다. (스토리 보드에 내 프로필 ViewController 레이아웃을 만들었습니다.) 레이아웃을 표시하는 방법을 설명해 주시겠습니까? 매트 감사합니다! – Shinnyx
"스토리 보드에 프로필 ViewController 레이아웃을 만들었습니다." 그러나'[SceneProfile new]'는 그 사실을 전혀 모른다. 식별자를 사용하여 storyboard_ ('instantiateViewControllerWithIdentifier :')에 그려 넣은 SceneProfile 인스턴스를 가져와야합니다. 그 중 하나 또는 "SceneProfile.xib"라는 펜촉을 사용하고 스토리 보드가 아닙니다. – matt
그건 그렇고, 그것은보기 컨트롤러에 내 책의 장을 읽는 데 도움이 될 수 있습니다 : http://www.apeth.com/iOSBook/ch19.html. 보기 컨트롤러가 무엇인지,보기를 얻는 위치, 스토리 보드가 실제로 무엇인지, 탭 막대 컨트롤러와 다른 부모보기 컨트롤러가 어떻게 작동하는지 등을 배웁니다. 그 것들은 당신이 여기서 모르는 것들 인 것 같습니다. – matt