2016-07-06 1 views
0

탭에서 사용자가 로그인했는지 확인하고 싶습니다. 사용자가 로그인 한 경우 계정보기를 표시하고 사용자가 로그인하지 않은 경우 Loginview를 표시하려고합니다. 이 코드를 사용하면 작동하지만 테이블 막대는 사라집니다. 문제를 어떻게 해결할 수 있습니까? 아니면 더 좋은 방법이 있습니까?Segue를 바꿀 때 Tab Bar가 사라집니다.

override func viewDidAppear(animated: Bool) { 
     if let email = userDefaults.valueForKey("token") { //User logged in 
      self.performSegueWithIdentifier("AccountSegue", sender: self) 
      print("Logged In") 
     } 
     else {  //User not logged in 
      self.performSegueWithIdentifier("loginSegue", sender: self) 
      print("Not Logged In") 
     } 


    } 
+0

앱을 처음 열 때 사용자가 로그인했는지 확인하고 있습니까? –

답변

0

나는 최근에이 문제를 가지고 있고, 당신은 "긴장을 풀고 SEGUE의"이 탭 바 컨트롤러가 사라질 허용하지 사용해야합니다. 그러나 나는 다른 사람들이 자신의 스토리 보드 파일의 Attributes Inspector에있는 "Hide Tab Bar"옵션을 선택 취소하기 만하면된다고 들었습니다. 당신이 UITabBarController이있는 경우

0

, 당신은 스토리 보드에 선언 않았다 SEGUE 어떤 종류의이

self.selectedIndex = 2 
+0

나는 이것이 정답이라고 생각한다. UITabController의 ViewController 사이를 이동할 때 두 뷰를 구분하지 않고 어느 뷰를보고 싶은지 말하기 만하면됩니다. 따라서 segue를 수행 할 때 UITabBarViewController 위에 새로운 ViewController를 푸시합니다. 따라서 TabBar는 실제로 사라지지 않습니다. 위에서 설명한대로 selectedIndex를 설정하면됩니다. – ClockWise

0

처럼 할 필요가? TabBar가 사라지면 활성 탭 NavigationController로보기를 푸는 대신 LoginVC를 모달로 여는 것입니다.

어쨌든 아직 로그인하지 않은 경우 사용자가 탭을 탐색하게하는 이유는 무엇입니까? 사례를 설명해 주시면 더 나은 접근 방식을 제안 해 드리겠습니다.

+0

그것은 쇼 Segue입니다. 첫 번째 탭에는 몇 가지 뉴스가 있습니다. 사용자가 로그인하지 않아도 볼 수 있습니다. 두 번째 탭에서는 로그인하여 자신의 계정에 액세스 할 수 있습니다. – user567

+0

segues 대신 수동으로 ViewController를 시도해 보셨습니까? (물론 디스 패쳐 뷰를 제거하는 것) –

관련 문제