cdub
cdub

Reputation: 25711

View controller not being created

I have a navigation controller that starts my app (rootViewController is the navigationController). Then inside one of the views of the navigation I call:

TabBarController *tab = [[TabBarController alloc] init];

// Presentation
[self presentViewController:tab animated:NO completion:nil];

Then one of the tabs calls the UIImagePickerController and then saves the image on another thread. Then I return to the main queue and run:

dispatch_async(dispatch_get_main_queue(), ^{

        [picker dismissViewControllerAnimated:YES completion:nil];

        PostViewController *post = [[PostViewController alloc] init];

        // Presentation
        [self presentViewController:post animated:NO completion:nil];
    });

But the post view never gets called and the viewDidLoad never gets hit in the PostViewController.m. Instead the imagePicker disappears and returns to the tabBarController. How do I fix this?

Upvotes: 1

Views: 43

Answers (1)

Yatheesha
Yatheesha

Reputation: 10432

Assuming that you PostViewController object is not nil , Present the view controller after the dismiss process of picker ViewController is completed . Try this Code

 dispatch_async(dispatch_get_main_queue(), ^{

    [picker dismissViewControllerAnimated:YES completion:^{

     PostViewController *post = [[PostViewController alloc] init];

    // Presentation
    [self presentViewController:post animated:NO completion:nil];
}];

});

Upvotes: 2

Related Questions