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