Ios 对两个ImageView使用UIImagePickerController并上载以进行解析
我对编程非常陌生,如果这是一个非常简单的问题,我提前道歉。我正在尝试编写一个代码,使用Ios 对两个ImageView使用UIImagePickerController并上载以进行解析,ios,parsing,file-upload,uiimageview,uiimagepickercontroller,Ios,Parsing,File Upload,Uiimageview,Uiimagepickercontroller,我对编程非常陌生,如果这是一个非常简单的问题,我提前道歉。我正在尝试编写一个代码,使用UIImagePickerController从我的imageGallery中选择两个不同的图像,并将其放入两个UIImageViews中。然后,单击按钮上载要解析的图像 我在两次使用UIImagePickerController时遇到困难,似乎在任何地方都找不到答案。另外,我在将其链接到上传代码时遇到问题。我只学会了如何上传文件夹中已有的文件,但我似乎不知道如何将其链接到UIImagePickerContro
UIImagePickerController
从我的imageGallery中选择两个不同的图像,并将其放入两个UIImageView
s中。然后,单击按钮上载要解析的图像
我在两次使用UIImagePickerController时遇到困难,似乎在任何地方都找不到答案。另外,我在将其链接到上传代码时遇到问题。我只学会了如何上传文件夹中已有的文件,但我似乎不知道如何将其链接到UIImagePickerController
。如果你能帮忙,我将不胜感激。我的代码到目前为止
- (IBAction)choosePhotoA:(id)sender {
UIImagePickerController *imagePickerControllerA = [[UIImagePickerController alloc] init];
imagePickerControllerA.modalPresentationStyle = UIModalPresentationCurrentContext;
imagePickerControllerA.delegate =self;
imagePickerControllerA.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:imagePickerControllerA animated:NO completion:nil];
}
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
[self dismissViewControllerAnimated:YES completion:nil];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
UIImage *imageA = [info valueForKey:UIImagePickerControllerOriginalImage];
self.imageViewA.image = imageA;
[self dismissViewControllerAnimated:YES completion:nil];
}
- (IBAction)uploadPhotoA:(id)sender {
PFObject *newImage = [PFObject objectWithClassName:@"photos"];
NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed:@"newImage.png"]);
PFFile *newImageFile = [PFFile fileWithName:@"testPhoto.png" data:imageData];
[newImage setObject:newImageFile forKey:@"photoUploadOne"];
[newImage saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (!error){
NSLog(@"upload success!");
}
}];
}
当选择图像并调用
didFinishPickingMediaWithInfo:
时,您需要知道选择了哪个图像(1或2)。要执行此操作,请在按下按钮时保存一个标志,该按钮将调用choosePhotoA:
。然后,在didFinishPickingMediaWithInfo:
中,您可以使用该标志决定将图像放置在何处(imageViewA
或imageViewB
)。这将允许用户改变主意并替换他们已经选择的图像
如果愿意,您还可以将图像保存到磁盘,或者使用@property
s保存对它们的引用(您实际上不想从图像视图中获取图像)
现在,当您想要上传时,获取图像(从属性、图像视图或磁盘)并上传(基本上这只是更改您当前使用的
UIImage imagename:
)。您需要运行两次代码来处理每个图像。要区分照片A和照片B,您可以使用BOOL state属性或验证imageViewA.image!=nil,因此传递到imageViewB。它应该被做进你选择的照片集中所有的方法中。非常感谢你的帮助!!你太棒了。非常感谢你的帮助!!