我必须通过一键操作将一些图像保存到照片库。
for (j=85; j<100; j++)
{
UIImage *saveImage=[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",j]];
UIImageWriteToSavedPhotosAlbum(saveImage,self,nil,nil);
}
我使用上面的代码。图像名称以85.png开头,以100.png结尾。保存4或5个图像,然后在输出窗口中显示一些行,如下所示
-[NSKeyedUnarchiver initForReadingWithData:]: data is NULL
任何人都可以解决这个问题吗?
答案 0 :(得分: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");
}
}
它会工作.....谢谢!!