2012-06-13 2 views
0

하나의 버튼 동작으로 이미지 갤러리에 이미지 세트를 저장해야합니다. 아이폰 앱에서 이미지 갤러리를 포토 갤러리에 저장하는 방법

for (j=85; j<100; j++) 
     { 
      UIImage *saveImage=[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",j]]; 
      UIImageWriteToSavedPhotosAlbum(saveImage,self,nil,nil); 
     } 

는 I 위 code.image 이름 85.png로 시작

-[NSKeyedUnarchiver initForReadingWithData:]: data is NULL 

를 다음과 같이 출력 창의 일부 라인을 도시 afterthat 100.png.It 4 개 또는 5 이미지를 저장 끝나는 사용 누구든지이 문제를 해결할 수 있습니까?

답변

0

시간 지연 후 저장 방법을 호출하십시오. 이미지는 사진 갤러리에 저장할 때가끔 소요됩니다. 그리고 여러 이미지를 연속적으로 저장하면 덮어 쓰기 및 이미지 저장 방법이 작동하지 않습니다.

그래서 각 이미지에 대해 0.5 초 이상 지연됩니다. 나는

먼저 전 세계적으로

NSInteger frameCount; 
NSTimer pauseTimer; 

선언 ... 방법은 아래를 참조하십시오 내 경우에는이를 사용했다. 그것은 작동이 방법

-(void)yourSaveButtonClick:(id)Sender 
{ 
    [self startTimer]; 
} 

-(void)startTimer 
{ 
    frameCount = 85; 
pauseTimer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(myFunctionForSaveToPhoneLibrary) userInfo:nil repeats:YES]; 

} 

-(void)myFunctionForSaveToPhoneLibrary 
{ 

UIImage *saveImage=[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",frameCount]]; 
UIImageWriteToSavedPhotosAlbum(saveImage,self,nil,nil); 

frameCount++; 
    if(frameCount>=100) 
    { 
    [pauseTimer invalidate]; 
    NSLog(@"Images are saved successfully"); 
    } 
} 

에게 전화를 클릭하는 방법 이름

당신의 저장 버튼을 지금
-(void)startTimer; 

을 ..... 감사합니다!

+0

좋은 제안이지만 임의의 지연을 고려하지 마십시오. UIImageWriteToSavedPhotosAlbum()이 완료되었음을 알리는 데 사용하는 콜백 함수가 있습니다. 문서에서 찾아보세요. – Dancreek

+0

지금 내 대답을 업데이트했습니다. – TheTiger

관련 문제