Загрузить два изображения из UIImagePicker

#ios #objective-c #image #uiimagepickercontroller #ios7.1

#iOS #objective-c #изображение #uiimagepickercontroller #ios7.1

Вопрос:

Я попытался загрузить два изображения одно за другим из UIImagePicker. UIImagePicker хорошо работает для одного изображения. С помощью ввода UIImagePicker я загрузил эти фотографии на веб-сервер. Для загрузки одного изображения на веб-сервер он работает нормально, но вместо двух изображений одно изображение сохраняется два раза. Это первый раз, когда я работаю над UIImagePicker. Я не знаю точно, где я должен внести изменения, чтобы сделать это для загрузки двух изображений.

   - (void)takePhoto:(UIButton *)sender {


if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

    UIAlertView   *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
                                                          message:@"Device has no camera"
                                                         delegate:nil
                                                cancelButtonTitle:@"OK"
                                                otherButtonTitles: nil];

    [alertView show];

}

else{

    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.allowsEditing = YES;
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

    [self presentViewController:picker animated:YES completion:NULL];



}


}
- (void)selectPhoto:(UIButton *)sender {

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:picker animated:YES completion:NULL];

}



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

chosenImage = info[UIImagePickerControllerEditedImage];
chosenImage1=info[UIImagePickerControllerEditedImage];
chosenImage2=info[UIImagePickerControllerEditedImage];

imageView.image = chosenImage;

frstCmpImgView.image= chosenImage1;
scndCmpImgView.image=chosenImage2;


if ([self.navigationItem.title  isEqual: @"CLOTHING"]) {
    NSLog(@"cloth page");
    [self clothview];
}
else if([self.navigationItem.title  isEqual: @"FACE PHOTO"]){


    [self hideButtns];

    NSLog(@"face page");

}

else{
    //----compare object--

    if ([cmparObjLabel.text isEqualToString:@"Choose the 1st Object"]) {
        [self afterUploadFrstCmpObj];

    }
    else if ([cmparObjLabel.text isEqualToString:@"Choose the 2nd Object"])
    {

        [self afterUploadScndCmpObj];
    }
}
[picker dismissViewControllerAnimated:YES completion:NULL];

}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {

[picker dismissViewControllerAnimated:YES completion:NULL];

}
  

Ответ №1:

Вы должны использовать массив для добавления изображения при каждом нажатии кнопки «Сделать фотографию», потому что средство выбора изображений извлекает изображения только по одному за раз, другой вариант, который вы можете использовать ELCAlbumPicker, чтобы выбрать несколько изображений, добавить эти изображения в массив и использовать их.