2013-05-12 1 views
0

StoryBoard를 사용하고 있으며 UITabBarController 및 UITabBarItem (User Profile)이 있습니다. UITabBarItem (User Profile)을 클릭하면 뷰가 표시되기 전에 사용자가 연결되어 있는지 확인하고 싶습니다. Sign In (SignInVC)과 사용자 정보 (UserProfileVC)를 표시하는 두 개의 ViewContollers가 있습니다.UITabBarItem을 클릭 할 때 표시 할 UIViewController를 선택하는 방법은 무엇입니까?

내가 원하는 것 : 사용자가 연결되어 있으면 UserProfileVC; 그렇지 않으면 SignInVC를 표시하십시오.

어떻게 구현할 수 있습니까?

답변

1

이것은 사람들이 닥칠 수있는 매우 일반적인 문제인 것으로 보입니다. 나는 UserProfileVC를 탭 막대 컨트롤러의 첫 번째 탭에 컨트롤러로 만들 것입니다. viewDidAppear 메서드에서 SignInVC를 표시할지 여부를 결정하는 논리를 추가합니다. 그렇다면 presentViewController : animated : completion : 애니메이션 세트를 NO로 설정하여 해당 컨트롤러를 표시하십시오. 사용자가 표시하기로 한 경우 가장 먼저 표시됩니다. 사용자가 성공적으로 로그인하면 dismissViewControllerAnimated : completion :을 사용하여 해당 컨트롤러를 닫습니다.

+0

그게 다예요, 고마워요. :) – raed

0

UITabBarControllerDelegatetabBarController:didSelectViewController: 메서드를 사용하여 UserProfileVC 또는 SignInVC를 선택한 다음 적절할 경우 viewControllers의 배열을 적절하게 업데이트 할 수 있습니다.

+1

그러나 저는 storyboard를 사용하고 있으며, segues를 사용하여 UITabBarItem과 UIViewContoller 사이의 링크를 결정합니다! 어레이를 업데이트하는 것이 유일한 해결책입니까? – raed