2012-06-13 80 views
0

我必须在一个按钮操作中将一些图像集保存到照片库。如何在iphone应用程序中将图像集保存到照片库

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

我使用上面code.image名称与85.png开始和结束与100.png.It保存4倍或5的图像afterthat它示出了在输出窗口中的一些行如下

-[NSKeyedUnarchiver initForReadingWithData:]: data is NULL 

谁能解决这个问题?

回答

0

延迟一段时间后调用Save方法。图像需要一段时间才能保存在照片库中。并且当您连续保存多个图像时,处理覆盖和保存图像的方法不起作用。

因此,延迟每个图像至少0.5秒。我用这个在我的情况请参见下面的方法......

首先声明

NSInteger frameCount; 
NSTimer pauseTimer; 

全球。并作出一个方法名

-(void)startTimer; 
现在

您保存按钮单击调用此方法

-(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"); 
    } 
} 

它会工作.....谢谢!!

+0

一个很好的建议,但不要指望随机延迟。 UIImageWriteToSavedPhotosAlbum()用来告诉你它已完成的回调函数。在文档中查找它。 – Dancreek

+0

我已经更新了我的答案,现在看看这.... – TheTiger

相关问题