UIImagepickercontroller не выбирает изображение - PullRequest
1 голос
/ 24 марта 2012

У меня это работало в старом коде, который я не использовал ... теперь я пробую его снова, и он не работает. Я не уверен, что не так. Я хотел бы, чтобы пользователь выбрал изображение и затем отобразил его в imageView1 для отображения. Я ценю помощь.

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

Ответы [ 2 ]

6 голосов
/ 24 марта 2012

Попробуйте

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

}

И убедитесь, что контроллер представления отвечает на UIImagePickerControllerDelegate.

imagePickerController: didFinishPickingImage: editInfo: устарел в iOS 3.0.

0 голосов
/ 24 марта 2012

Вот как я это делаю:

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

{ bgImage.image = [info 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 в папке документов вашего приложения. Надеюсь, это поможет ..

...