2014-05-20 12 views
5

Mam problem z próbą połączenia mojego UIViewController, ale dostałem swój ostatni błąd.Kod nie jest wyświetlany w widoku głównym hierarchii okien.

Attempt to present ViewController whose view is not in the window hierarchy 

Oto mój kod:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    NSString *title = [alertView buttonTitleAtIndex:buttonIndex]; 

    if([title isEqualToString:@"Wokay"]) 
    { 
     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
     UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"Vibes"]; 
     [self.window.rootViewController presentViewController:vc animated:YES completion:nil]; 

    } 
} 

Kod błędu:

Warning: Attempt to present <ViewController: 0x110634bc0> on <Login: 0x10951e7f0> whose view is not in the window hierarchy! 
+0

czy możesz skopiować wkleić błąd szczegółów? – highwing

+0

Nie można tego zrobić, jeśli widok kontrolera widoku głównego nie znajduje się obecnie w hierarchii okna. – rdelmar

+0

@highwing, właśnie dodałem – user3546239

Odpowiedz

2

Wydaje się, że Twój UIViewController (Login) nie jest w oknie hierarchii.

Być może dodajesz swoje LoginViewController jako subView w UIWindow. Jeśli tak, ustaw ją jako UIWindow „s rootViewController

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

    //Other code parts 

    [self.window setRootViewController:loginViewController]; 
    return YES; 
} 

LUB

Jeśli dodajesz widok LoginViewController jako podrzędny w dowolnym UIViewController (słownie FirstViewController) , przedstaw go zamiast tego:

W swoim FirstViewController.m,

-(void)viewDidLoad{ 
    [super viewDidLoad]; 


    LoginViewController *loginViewController ;//Instantiate LoginViewController here 
    [self presentViewController:loginViewController animated:NO completion:Nil]; 
} 
+0

Brak szczęścia. Używam zarówno UIViewController. kiedy ustawiam inne UIViewController przekierowanie działa, ale kiedy wstawię inny UIViewController (LOGIN), to utknie. – user3546239

+0

@ user3546239, więc pytanie brzmi: co różni się od innych UIViewController i LOGIN? Czy przypisałeś prawidłowy identyfikator storyboardu do LOGIN? – highwing

Powiązane problemy