在手机相册中保存图片失败

原问题来自于CSDN问答频道,更多解决方案见:http://ask.csdn.net/questions/2681

问题描述:

UIImagePicker 控制器,在点击相机按钮的时候,预览和使用按钮显示,但是图片没有保存在图片相册中。

代码:

-(void)viewDidAppear:(BOOL)animated{
    picker = [[UIImagePickerController alloc] init];
    // Set the image picker source:
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    // Hide the controls:
    picker.showsCameraControls = YES;
    picker.navigationBarHidden = YES;
    // Make camera view full screen:
    picker.wantsFullScreenLayout = YES;
    // Insert the overlay:
    picker.cameraOverlayView = self.view;
      self.view.backgroundColor=[UIColor clearColor];
    // Show the picker:
    [self presentModalViewController:picker animated:YES];
}


解决方案:

这样设置:

首先设置UIImagePickerController代理本身。

-(void)viewDidAppear:(BOOL)animated{
    picker = [[UIImagePickerController alloc] init];
picker.delegte = self ;
    // Set the image picker source:
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    // Hide the controls:
    picker.showsCameraControls = YES;
    picker.navigationBarHidden = YES;
    // Make camera view full screen:
    picker.wantsFullScreenLayout = YES;
    // Insert the overlay:
    picker.cameraOverlayView = self.view;
      self.view.backgroundColor=[UIColor clearColor];

    // Show the picker:
    [self presentModalViewController:picker animated:YES];
}
    -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
        {
         UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
         UIImageWriteToSavedPhotosAlbum(image,self,  
                                           @selector(image:finishedSavingWithError:contextInfo:),
                                           nil);
        }
    - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
    {
        UIAlertView *alert;
        if (error)
            alert = [[UIAlertView alloc] initWithTitle:@"Error" 
                                               message:@"Unable to save image to Photo Album." 
                                              delegate:self cancelButtonTitle:@"Ok" 
                                     otherButtonTitles:nil];
        else 
            alert = [[UIAlertView alloc] initWithTitle:@"Success" 
                                               message:@"Image saved to Photo Album." 
                                              delegate:self cancelButtonTitle:@"Ok" 
                                     otherButtonTitles:nil];
        [alert show];
        [alert release];
    }


 

你可能感兴趣的:(ios,移动开发,Objective-C,iPhone)