我有2个图像视图(imageview & imageview2)和2个uibuttons(useCameraRoll & useCameraRoll2)我已经实现了使用2个按钮在这些视图上设置图像的代码。使用UIImagePickerController进行多个uiimageviews。 (使用多个UIButton)
imageview与其按钮useCameraRoll一起工作良好,但是当我使用useCameraRoll2设置图像时,它会更改imageview的图像而不是imageview2。
代码视图/按钮1:视图/按钮2
- (IBAction) useCameraRoll: (id)sender
{
if ([self.popoverController isPopoverVisible]) {
[self.popoverController dismissPopoverAnimated:YES];
} else {
if ([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
UIImagePickerController *imagePicker =
[[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.mediaTypes = [NSArray arrayWithObjects:
(NSString *) kUTTypeImage,
nil];
imagePicker.allowsEditing = NO;
self.popoverController = [[UIPopoverController alloc]
initWithContentViewController:imagePicker];
self.popoverController.delegate = self;
[self.popoverController presentPopoverFromRect:((UIButton *)sender).bounds inView:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
newMedia = NO;
}
}
}
#pragma mark -
#pragma mark UIImagePickerControllerDelegate
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self.popoverController dismissPopoverAnimated:true];
NSString *mediaType = [info
objectForKey:UIImagePickerControllerMediaType];
// [self dismissModalViewControllerAnimated:YES];
if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
UIImage *image = [info
objectForKey:UIImagePickerControllerOriginalImage];
self.imageView.image = image;
if (newMedia)
UIImageWriteToSavedPhotosAlbum(image,
self,
@selector(image:finishedSavingWithError:contextInfo:),
nil);
}
else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie])
{
// Code here to support video if enabled
}
}
代码:
- (IBAction) useCameraRoll2: (id)sender
{
if ([self.popoverController2 isPopoverVisible]) {
[self.popoverController2 dismissPopoverAnimated:YES];
} else {
if ([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
UIImagePickerController *imagePicker2 =
[[UIImagePickerController alloc] init];
imagePicker2.delegate = self;
imagePicker2.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker2.mediaTypes = [NSArray arrayWithObjects:
(NSString *) kUTTypeImage,
nil];
imagePicker2.allowsEditing = NO;
self.popoverController2 = [[UIPopoverController alloc]
initWithContentViewController:imagePicker2];
self.popoverController2.delegate = self;
[self.popoverController2 presentPopoverFromRect:((UIButton *)sender).bounds inView:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
newMedia = NO;
}
}
}
#pragma mark -
#pragma mark UIImagePickerControllerDelegate
-(void)imagePickerController2:(UIImagePickerController *)picker2
didFinishPickingMediaWithInfo:(NSDictionary *)info2
{
[self.popoverController2 dismissPopoverAnimated:true];
NSString *mediaType2 = [info2
objectForKey:UIImagePickerControllerMediaType];
// [self dismissModalViewControllerAnimated:YES];
if ([mediaType2 isEqualToString:(NSString *)kUTTypeImage]) {
UIImage *image2 = [info2
objectForKey:UIImagePickerControllerOriginalImage];
self.imageView2.image = image2;
if (newMedia2)
UIImageWriteToSavedPhotosAlbum(image2,
self,
@selector(image:finishedSavingWithError:contextInfo:),
nil);
}
else if ([mediaType2 isEqualToString:(NSString *)kUTTypeMovie])
{
// Code here to support video if enabled
}
}
我已检查,在界面生成器的所有连接被连接到右视图。
有谁知道为什么这是怎么了?
问候
有人有想法吗?这已经在这里2个月 – 2012-10-03 21:14:26
如果我的答案解决了你的问题,也许你应该接受我的答案。否则,请添加评论以告诉解决方案是什么。 – 2013-08-20 21:34:05