У меня очень простое приложение, в котором пользователь выбирает UIImageView
и нажимает кнопку, чтобы сделать снимок с помощью камеры. Затем изображение возвращается и отображается в поле UIImageView
.Как получить копию изображения от UIImagePicker
Однако, поскольку UIImageViews
разделяют один и тот же делегат, когда есть уже образ в одном из UIImageViews
, и я иду, чтобы сделать снимок, чтобы быть помещены в другой, предыдущий UIImageView
заменяется пустым содержимым (т.е. нет образ). Я думаю, это потому, что они делят один и тот же делегат. Есть ли способ, по существу, копировать изображение вместо ссылки на его делегатскую версию?
Вот некоторые примеры кода:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
[picker.parentViewController dismissModalViewControllerAnimated:YES];
if (topView == YES)
{
NSLog(@"topView = %i", topView);
imageView.image = image;
}
else {
NSLog(@"topView = %i", topView);
imageView2.image = image;
}
}
Спасибо!
Edit: Вот код, который вызывается с помощью IBAction на кнопку нажмет
- (IBAction) pushPick {
topView = YES;
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:picker animated:YES];
[picker release];
}
- (IBAction) pushPick2 {
topView = NO;
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:picker animated:YES];
[picker release];
}
Спасибо, я уверен, что это правильно, но мое приложение по-прежнему плохо себя ведет. У меня есть две кнопки, которые запускают imagepicker, по одной кнопке для каждого UIImageView. Я нахожу, что если я нажимаю первую кнопку и выбираю изображение, то второе и выбираю изображение, все в порядке, но нажатие другого потом присваивает это изображение в UIView, но очищает другой UIView. Есть идеи? –
Сложно сказать, что я попытаюсь поставить 'NSLog (@" topView =% i ", topView);' вокруг областей кода, основанных на этой переменной. – arul
Кажется, что они дают правильные результаты. Возможно, есть лучший способ связать несколько UIImageViews с UIImagePickers? btw все работает нормально, если я выбираю другой тип UIImagePickerSourceType (например, UIImagePickerControllerSourceTypePhotoLibrary) –