2012-03-23 67 views
1

我有这个工作在旧的代码,我没有最终使用...现在我再次尝试它,它不工作。我不知道什么是错的。我希望用户选择一个图像,然后在imageView1中显示它以供显示。我很感谢帮助。UIImagepickercontroller没有选择图片

- (IBAction)pushPick 
{ 
    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.delegate =self; 
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    [self presentModalViewController:picker animated:YES]; 
    //[picker release]; 
} 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage: (UIImage *)image editingInfo:(NSDictionary *)editingInfo { 
    [picker.parentViewController dismissModalViewControllerAnimated:YES]; 
    imageView1.image = image; 
} 

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { 
    [picker.parentViewController dismissModalViewControllerAnimated:YES]; 
} 

回答

6

尝试

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
    imageView1.image = image; 
    [picker release]; 
    [self dismissModalViewControllerAnimated:YES]; 

} 

,并确保视图控制器响应UIImagePickerControllerDelegate。

imagePickerController:didFinishPickingImage:editingInfo:已在iOS 3.0中弃用。

+0

UIImage * image = [info objectForKey:UIImagePickerControllerOriginalImage];似乎这样做...谢谢。 – 2012-03-24 01:54:28

0

这是怎么做到这一点:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 

{ bgImage.image = [信息objectForKey:UIImagePickerControllerEditedImage]。

UIGraphicsBeginImageContextWithOptions(CGSizeMake(128, 128), YES, 1.0); 

[bgImage.image drawInRect:CGRectMake(0,0,128,128)]; 
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

NSData *imageData = UIImageJPEGRepresentation(newImage, 1.0); 
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); 
NSString *documentsFolder = [path objectAtIndex:0]; 

NSString *tmpPathToFile = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@/specificImagedName.jpg", documentsFolder]]; 

if([imageData writeToFile:tmpPathToFile atomically:YES]){ 
    //NSLog(@"write succesful"); 
} 
/////////////////////////////////////////// 

[po dismissPopoverAnimated:YES]; 
[picker release]; 
[tmpPathToFile release];} 

它生成一个jpg文件到您的应用程序的文档文件夹。希望它有帮助..

相关问题