在解除UIImagePickerController后推送UIView控制器

时间:2013-10-25 12:09:47

标签: ios iphone objective-c uiview overlay

UIViewController UIToolBar UIToolBar有三个按钮[options,pickphotofromlibrary,camera].

当用户按下相机按钮时,它们将被带到自定义相机界面[Overlayed]。

代码:

- (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];

}

因此,当用户拍摄照片时,我需要推送另一个显示表视图的视图。我创建了一个nib文件,但不知道如何继续进行。

任何帮助将不胜感激..

2 个答案:

答案 0 :(得分:1)

您需要使用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

}

答案 1 :(得分:0)

UIImagePickerController有一个功能

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

UIImagePickerViewController Reference