2014-02-14 3 views
0

iPhone 용 응용 프로그램을 만들고 있으며 사진 라이브러리에서 이미지를 다중 선택하는 기능을 제공하고자합니다. 한 번에 네 개의 이미지를 선택하는 작업 코드가 이미 있습니다.iOS에서 다중 선택 이미지를 표시하는 방법

하지만 한 번에 1 또는 2 또는 3 개의 이미지를 선택할 수 없습니다. 한 번에 1 또는 2 또는 3 개의 이미지를 선택하고 싶습니다.

이것은 내 코드입니다. 나는 해결책을 찾지 못한 채 3 일 동안 고생했다. 아무나 도와주세요. 사전에

감사합니다 .............

-(void)choosePhotoFromExistingImages 
{ 
    ELCImagePickerController *elcPicker = [[ELCImagePickerController alloc] initImagePicker]; 
    elcPicker.maximumImagesCount = 4; 
    elcPicker.returnsOriginalImage = NO; //Only return the fullScreenImage, not the fullResolutionImage 
    elcPicker.imagePickerDelegate = self; 
    [self presentViewController:elcPicker animated:YES completion:nil]; 
} 

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 
{  
    [self.navigationController dismissViewControllerAnimated: YES completion: nil]; 
} 

- (void)displayPickerForGroup:(ALAssetsGroup *)group 
{ 
    ELCAssetTablePicker *tablePicker = [[ELCAssetTablePicker alloc] initWithStyle:UITableViewStylePlain]; 
    tablePicker.singleSelection = YES; 
    tablePicker.immediateReturn = YES;  
    ELCImagePickerController *elcPicker = [[ELCImagePickerController alloc] initWithRootViewController:tablePicker]; 
    elcPicker.maximumImagesCount = 0; 
    elcPicker.imagePickerDelegate = self; 
    elcPicker.returnsOriginalImage = NO; //Only return the fullScreenImage, not the fullResolutionImage 
    tablePicker.parent = elcPicker; 

    // Move me 
    tablePicker.assetGroup = group; 
    [tablePicker.assetGroup setAssetsFilter:[ALAssetsFilter allAssets]]; 
    [self presentViewController:elcPicker animated:YES completion:nil]; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
{ 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    { 
     return YES; 
    } 
    else 
    { 
     return toInterfaceOrientation != UIInterfaceOrientationPortraitUpsideDown; 
    } 
} 

#pragma mark ELCImagePickerControllerDelegate Methods 

- (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info 
{  
    [self dismissViewControllerAnimated:YES completion:nil];  
    CGRect workingFrame = _scrollView.frame;  
    workingFrame.origin.x = 0; 
    NSMutableArray *images = [NSMutableArray arrayWithCapacity:[info count]]; 
    for (NSDictionary *dict in info) 
    {  
     UIImage *image = [dict objectForKey:UIImagePickerControllerOriginalImage];  
     [images addObject:image];  
     UIImageView *imageview = [[UIImageView alloc] initWithImage:image]; 
     [imageview setContentMode:UIViewContentModeScaleAspectFit];  
     imageview.frame = workingFrame;   
     [self.view addSubview:imageview ];   
     self.chosenImages = images; 
    }  
    UIImageView *image1=[[UIImageView alloc]initWithFrame:CGRectMake(10, 240, 40, 40)];  
    image1.image=[images objectAtIndex:0]; 
    [self.view addSubview:image1]; 
    UIImageView *image2=[[UIImageView alloc]initWithFrame:CGRectMake(60, 240, 40, 40)]; 
    image2.image=[images objectAtIndex:1];  
    [self.view addSubview:image2]; 
    UIImageView *image3=[[UIImageView alloc]initWithFrame:CGRectMake(120, 240, 40, 40)];  
    image3.image=[images objectAtIndex:2];  
    [self.view addSubview:image3];  
    UIImageView *image4=[[UIImageView alloc]initWithFrame:CGRectMake(180, 240, 40, 40)]; 
    image4.image=[images objectAtIndex:3]; 
    [self.view addSubview:image4]; 
} 

- (void)elcImagePickerControllerDidCancel:(ELCImagePickerController *)picker 
{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 
+0

[ELCImagePickerController repo] (https://github.com/B-Sides/ELCImagePickerController)에서 데모를 시도 했습니까? 그것은 나를 위해 실행되며 * maximumImagesCount * 아래에서 원하는만큼 선택할 수 있습니다. –

+0

@AntonGaenko 귀하의 응답을 주셔서 감사합니다. 나는 또한 ELCImagePickerController.If 나는 그것을 표시됩니다 4 이미지를 클릭합니다.하지만 2 또는 3 또는 1 이미지를 클릭하면 나는 display.I will not will getl 얻을 것이다 2 이미지를 선택합니다. "NSRangeException '이유,'*** - [__ NSArrayM objectAtIndex :] : 경계 3을 넘어서서 인덱스 3을 종료합니다."제발 도와주세요. 거의 2 일 동안 공격당했습니다. – user3222991

+0

maximumImagesCount를 더 낮은 값으로 설정해 보셨습니까? – Divya

답변

1

다음은 Tutorial에 대한 링크입니다. 그것의 프로젝트에서 잘 작동합니다. 이것을 해주세요

희망은 당신에게 유용합니다.

1

는 2의 길이 배열을 생성, 예를 들어 - (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info

에 코드를 확인하지만 코드에서 당신은 image3.image=[images objectAtIndex:2];image4.image=[images objectAtIndex:3];을 얻으려고 아래. 코드가 예외를 throw하는 것은 놀라운 일이 아닙니다.

행운을 빈다.

관련 문제