简体   繁体   中英

Push UIView Controller after dismissing UIImagePickerController

I have UIViewController with UIToolBar .
And UIToolBar has three buttons [options,pickphotofromlibrary,camera].

When user presses camera button they are taken to custom camera interface[Overlayed].

Code:

- (void)showImagePickerForSourceType:(UIImagePickerControllerSourceType)sourceType

{
if (self.imageView.isAnimating)
{
    [self.imageView stopAnimating];
}

UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.modalPresentationStyle = UIModalPresentationCurrentContext;
imagePickerController.sourceType = sourceType;
imagePickerController.delegate = self;

if (sourceType == UIImagePickerControllerSourceTypeCamera)
{
    /*
     The user wants to use the camera interface. Set up our custom overlay view for the camera.
     */
    imagePickerController.showsCameraControls = NO;

    /*
     Load the overlay view from the OverlayView nib file. Self is the File's Owner for the nib file, so the overlayView outlet is set to the main view in the nib. Pass that view to the image picker controller to use as its overlay view, and set self's reference to the view to nil.
     */
    [[NSBundle mainBundle] loadNibNamed:@"overlayView" owner:self options:nil];
    self.overlayView.frame = imagePickerController.cameraOverlayView.frame;
    imagePickerController.cameraOverlayView = self.overlayView;
    self.overlayView = nil;
}


[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];



self.imagePickerController = imagePickerController;

[self.navigationController presentViewController:self.imagePickerController animated:YES completion:nil];

}

So when the user takes the picture I need to push another view which shows them a table view.I have created a nib file but don't know how to proceed further.

Any help would be appreciated..

You need to use following delegate method of UIImagePickerController

#pragma mark -
#pragma mark - UIImagePickerController Delegate Method

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
     // This code is for dismiss your UIImagePickerController
     [self dismissViewControllerAnimated:YES completion:nil]; 

     //And then write code of your Next ViewController

}

UIImagePickerController has a delegate with a function

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
   // put code here to push the second view controller
}

UIImagePickerViewController Reference

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM