0

사용자가 모든 기능을 사용하기 위해 로그인해야하는 앱을 개발 중이지만 사용자가 로그인을 건너 뛸 수 있도록 허용합니다.ObjectiveC에서 Tab Bar와 Navigation Bar가있는 UIView 표시

내 스토리 보드에는 로그인 화면으로 작동하는 UIViewController가 있습니다. 건너 뛰기 버튼을 클릭하면 다음 화면으로 넘어갑니다.

다음은 문제가 발생했을 때 ... 사용자가 건너 뛰기 버튼을 누르면 탐색 모음과 탭 모음이 표시 될 때 화면이 나타나기를 원합니다. 그 두 가지를 추가하면 작동합니다.

내 앱 위임 파일에서 사용자가 앱을 건너 뛰고 메뉴 화면으로 바로 가는지 확인합니다. 문제는 탐색 막대와 탭 막대가없는 빈 흰색 화면으로 이동하는 것입니다. 건너 뛰기를 누르면 제대로 작동하지만 앱을 닫은 후에 다시 실행하면 안됩니다.

//Check NSUserDefaults to get the value for skipLogin 
    BOOL skipLogin = [[NSUserDefaults standardUserDefaults] objectForKey:kACUserDefaultsSkippedLoginKey]; 

//Check to see if the user has logged in or has already pressed the skip button. 
//If not, show the LoginViewController 
    if(skipLogin || [PFUser currentUser]) { 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    MenuViewController *menuView = [storyboard instantiateViewControllerWithIdentifier:@"MenuView"]; 
    self.window.rootViewController = menuView; 
    }else{ 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    LoginViewController *loginView = [storyboard instantiateViewControllerWithIdentifier:@"LoginView"]; 
    self.window.rootViewController = loginView; 
    } 

내가 잘못 뭐하는 거지 : 여기

는 사용자가 로그인을 생략 한 경우 확인 코드입니다?

+0

'UINavigationBar'와'UITabBar'을 뷰에 직접 추가하거나'UINavigationController'와'UITabBarController'를 사용하고 있습니까? – AdamPro13

+0

@ AdamPro13 컨트롤러를 사용하고 있습니다. MenuView를 선택하고 "탭 막대에 포함"및 "탐색 막대에 포함"을 선택했습니다. –

답변

0

performSegueWithIdentifier을 사용하여 새보기 컨트롤러를 밀어 넣지 않는 이유는 무엇입니까? 문제는 스토리 보드를로드하는 중이고 윈도우의 rootViewController를 설정하고 있다는 것입니다.

+0

저는 그것에 대해 생각해 보았습니다. AppDelegate의 applicationDidFinishLaunching 메소드에서이를 구현하는 방법을 모르겠습니다. 거기에 할 수있는 방법이 있습니까? –

0

초기보기 컨트롤러를 메뉴보기로 설정하고 사용자가 로그인하지 않았거나 로그인을 건너 뛰면 로그인보기가 나타납니다. 그것은 훨씬 더 잘 작동합니다.

도움을 주셔서 감사합니다.