2017-01-10 5 views
0

Я использую SWRevealViewcontroller с помощью этого sample:Loginviewcontroller перед тем SWRevealviewcontroller с раскадровкой объективными C

Я хочу добавить loginviewcontroller перед тем SWRevealViewcontroller.

Что я пробовал:

  1. Добавлена ​​loginviewcontroller в Storyboard. Установите его как InitialViewcontroller.

  2. Внутри кнопки действия.

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
    MapViewController *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"MapViewController"]; 
    
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:rootViewController]; 
    [navController setViewControllers: @[rootViewController] animated: YES]; 
    
    [self.revealViewController setFrontViewController:navController]; 
    [self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES]; 
    

Но это не работает. Пожалуйста, помогите

+1

После LoginView она переходит к следующему ViewController и в следующем ViewController вы хотите SWReavelViewController .. я прав @iosdeveloper .. ?? –

+0

@SurajSukale Да. Я хочу чтобы. –

ответ

1

viewController1

viewController2 *viewController2=[self.storyboard instantiateViewControllerWithIdentifier:@"viewController2Id"]; 
[self.navigationController pushViewController: viewController2 animated:YES]; 

viewController2

-(void)pushAfterLoginScreen 
{ 
SidebarViewController *sidebarmemu =(SidebarViewController*) [self.storyboard instantiateViewControllerWithIdentifier:@"SidebarController"]; 

viewController3* viewController3 = (viewController2*)[self.storyboard instantiateViewControllerWithIdentifier:@"viewController2Id"]; 

SWRevealViewController *revealController; 
UINavigationController *frontNavigationController; 
UINavigationController *rearNavigationController; 
frontNavigationController =[[UINavigationController alloc]initWithRootViewController: viewController2]; 
rearNavigationController =[[UINavigationController alloc]initWithRootViewController:sidebarmemu]; 
revealController = [[SWRevealViewController alloc] initWithRearViewController:rearNavigationController frontViewController:frontNavigationController]; 
revealController.delegate = self; 
self.swcontroller =revealController; 
AppDelegate *app =(AppDelegate *)[[UIApplication sharedApplication]delegate]; 
app.window.rootViewController =self.swcontroller; 
} 
+0

Благодарим вас за ответ. Что такое self.swcontroller? –

+0

@property (сильный, неатомный) SWRevealViewController * swcontroller; –

+0

Благодарим вас за ответ. помогает –

1

SWRevealViewcontroller который уже встраивать с navigationController вам нужно передать управление SWRevealViewcontroller после успешного входа в систему, используя presentViewController метод путем создания раскадровки идентификатор navigationController из SWRevealViewcontroller и навигации приложение, используя код ниже:

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"navContStoryboardID"]; 
[vc setModalPresentationStyle:UIModalPresentationCustom]; // optional 
[vc setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; // optional 
[self presentViewController:vc animated:YES completion:nil]; 

Надеюсь, это вам поможет.

Смежные вопросы