2017-05-26 8 views
1

私はパスコードのxibを持っています。ログインボタンをタップすると、呼び出されるWebサービスがあり、成功応答後、パスコードのxibを提示する必要があります。
私はその部分を完了すると、提示されたxibから別のビューコントローラにプッシュする必要があります。表示するコントローラーフォームを表示する方法xx

は、ここに私のコードです:

[self dismissViewControllerAnimated:NO completion:^{ 
    if ([_delegate respondsToSelector:@selector(unlockWasSuccessfulLockScreenViewController:pincode:)]) { 
     [_delegate unlockWasSuccessfulLockScreenViewController:self pincode:pincode]; 

     PassCodeVC *sgn = [self.storyboard instantiateViewControllerWithIdentifier:@"PassCodeVC"]; 
     UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:sgn]; 

     [nav pushViewController:sgn animated:YES]; 

    } 
    }]; 

と私はこのようなXIBを提示している:

JKLLockScreenViewController * viewController = [[JKLLockScreenViewController alloc] initWithNibName:NSStringFromClass([JKLLockScreenViewController class]) bundle:nil]; 
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:viewController]; 

[viewController setLockScreenMode:LockScreenModeNew]; // enum { LockScreenModeNormal, LockScreenModeNew, LockScreenModeChange } 
[viewController setDelegate:self]; 
[viewController setDataSource:self]; 
[viewController setTintColor:[UIColor colorWithRed:53.0/255.0 green:115.0/255.0 blue:157.0 /255.0 alpha:1]]; 

[self presentViewController:nav animated:YES completion:nil]; 

答えて

0

あなたは現在のナビゲーションコントローラを使用して、その後、単純なパス新しいコントローラを現在のナビゲーションを使用したい場合。

PassCodeVC *sgn = [self.storyboard instantiateViewControllerWithIdentifier:@"PassCodeVC"]; 
[self.navigationController pushViewController:childViewController animated:YES]; 
+0

私が行っているが、それはあなたがナビゲーションコントローラ –

+0

にnilの値を渡していると言うが、このようにストーリーボードを取得: UIStoryboard *絵コンテ= [UIStoryboard storyboardWithName: "MainStoryboard" バンドル@:[NSBundle mainBundle]]; PassCodeVC * sgn = [ストーリーボードinstantiateViewControllerWithIdentifier:@ "PassCodeVC"]; また、StoryBoard IDが設定されていることを確認しますか? –

0

ロードしようとしているView ControllerのストーリーボードIDを設定する必要があります。これはインスペクタ内にあり、ビューコントローラにカスタムクラスを割り当てます。 see this image

関連する問題