【发布时间】:2014-03-06 16:37:57
【问题描述】:
我在这里遇到了一个小问题。
我有一个基本视图,其中包含两个 UIButtons 和两个 UIImageViews,我希望我的用户能够拍摄两张不同的照片,并将这些照片附加到各自的 UIImageView。
现在这适用于第一个 UIButton/图像,但不适用于第二个。
.h
@interface ViewController : UIViewController <UIImagePickerControllerDelegate> {
// First button/imageview
UIImagePickerController *picker;
UIImage *image;
// Second button/imageview
UIImagePickerController *picker2;
UIImage *image2;
}
.m
-(IBAction)TakePhoto
{
picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
[picker setSourceType:UIImagePickerControllerSourceTypeCamera];
[self presentViewController:picker animated:YES completion:NULL];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
image2 = [info objectForKey:UIImagePickerControllerOriginalImage];
[imageField2 setImage:image2];
[self dismissViewControllerAnimated:YES completion:NULL];
}
这一切都很好,但我的问题是如何将第二个选择器连接到新的 imagePickerController 方法,以便我的用户可以在此视图上拍摄两张不同的照片?我知道,如果我使用 picker2 信息创建了一个新操作,它仍然会指向一个 imagePickerController 方法,创建第二个方法并将其重命名以适应它是行不通的。
我们将不胜感激任何建议和帮助。
杰米
【问题讨论】:
-
在委托方法(
imagePickerController:didFinishPickingMediaWithInfo)中,测试选择器是什么:if (picker == picker1){}else if (picker == picker2){}。另外,将您的第一个选择器重命名为 picker1,以不在委托方法中隐藏实例。 -
太好了,我不知道我可以使用该应用程序走这条路,但这似乎工作得很好。非常感谢!
标签: ios objective-c uiimageview uiimagepickercontroller