2014-11-28 10 views
0

자산 라이브러리 경로가있는 이미지를 가져 와서 AssetLibrary를 통해 볼 수는 있지만 이미지는 컨트롤러의 인스턴스 변수에 할당됩니다. 이제보기에 여러 이미지를 표시하고 싶습니다. 따라서이 이미지 중 몇 개를 포함할지 모르기 때문에 이러한 이미지를 인스턴스 변수에 바인딩하면 안됩니다. 어떤 아이디어? 기본적으로 내가 여기서하려고하는 것은 사용자가 사진 라이브러리에서 이미지를 선택하고 모든 이미지를 표시 할 수있게하려는 것입니다.iOS 자산 라이브러리 경로가있는 이미지를 인스턴스 변수에 바인딩하지 않고 표시하는 방법

답변

0

아래 코드는 도움이 될 수 있습니다.

-(void) putDataFromAssertUrl:(NSURL*)url ToImageView:(UIImageView*) iv // url is an assert url, can't be directly used. 
{ 
    ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init]; 
    [assetLibrary assetForURL:url resultBlock:^(ALAsset *asset) { 
     ALAssetRepresentation *rep = [asset defaultRepresentation]; 
     Byte *buffer = (Byte*)malloc(rep.size); 
     NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil]; 
     NSData *data = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES];//this is NSData may be what you want 
     NSLog(@"length : %lu", (unsigned long)data.length); 
     iv.image = [UIImage imageWithData:data]; 
     [iv setNeedsDisplay]; 
    } failureBlock:^(NSError *err) { 
     NSLog(@"Error: %@",[err localizedDescription]); 
    }]; 
}