-2

私のアプリケーションでは、ユーザーが自分のギャラリーから複数の画像を選択できるようにしたいのですが、UIImagePickerController を使用すると一度に 1 つの画像しか選択できません。そして、私は初心者であり、objective-c の知識があまりないため、GitHub で入手できるマルチ イメージ ピッカー コンポーネント (MAImagePicker、QBImagePicker、ELCImagePickerController など) を実装できません。

これらのコンポーネントのいずれかを使用したことがある場合は、サンプル コードとそれを実装する手順を提供してください。

4

1 に答える 1

5

ELCImagePicker を使用し ます https://github.com/B-Sides/ELCImagePickerController

github からダウンロードしてプロジェクトにインポートします。

画像選択ボタンを追加

- (IBAction)selectImg:(id)sender
{
    ELCImagePickerController *elcPicker = [[ELCImagePickerController alloc] initImagePicker];
    elcPicker.maximumImagesCount = 100; //Set the maximum number of images to select to 100
    elcPicker.returnsOriginalImage = YES; //Only return the fullScreenImage, not the fullResolutionImage
    elcPicker.returnsImage = YES; //Return UIimage if YES. If NO, only return asset location information
    elcPicker.onOrder = YES; //For multiple image selection, display and return order of selected images
    elcPicker.mediaTypes = @[(NSString *)kUTTypeImage, (NSString *)kUTTypeMovie]; //Supports image and movie types
    elcPicker.imagePickerDelegate = self;
    [self presentViewController:elcPicker animated:YES completion:nil];
}

このメソッドから画像を取得します。

- (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info
{
    [self dismissViewControllerAnimated:YES completion:nil];

    for (NSDictionary *dict in info)
    {
        if ([dict objectForKey:UIImagePickerControllerMediaType] == ALAssetTypePhoto)
        {
            if ([dict objectForKey:UIImagePickerControllerOriginalImage])
            {
                UIImage* image=[dict objectForKey:UIImagePickerControllerOriginalImage];
                [arrImgs addObject:image];
            }
        }
    }

}

- (void)elcImagePickerControllerDidCancel:(ELCImagePickerController *)picker
{
    [self dismissViewControllerAnimated:YES completion:nil];
}
于 2016-06-07T09:13:24.363 に答える