-1

这可能是一件很难的事情,但我必须将某个时刻出现在屏幕上的内容保存到文件中。但不仅仅是一个文件,我需要将它保存到我的资产文件夹:我的目标是我以后可以在没有以下内容的情况下使用图像:

dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];

但只是像在我的资产上一样使用它,只是为了使用:@"myImage.png"myImage我已经从我的打印屏幕保存的图像是什么时候。

关于如何做到这一点的任何方向?谢谢 。

4

3 回答 3

1

您的应用程序的主包是应用程序的一部分,并且是只读的。您无法在设备上添加或删除内容。您将不得不将该图像保存到应用程序沙箱中的目录之一,例如DocumentsLibrary/Caches

而不是+[UIImage imagedNamed:], 也许+[UIImage imageWithContentsOfFile:]会为你工作? 

于 2012-09-26T13:30:17.373 回答
1

如果我理解正确,您的意思是您想将屏幕上的部分绘图保存在图像中(这很容易),并希望稍后从您的应用程序包中检索它(我想您的意思是,而不是定期资产)。这是无法做到的,因为应用程序包在运行时是只读的。

于 2012-09-26T13:30:46.743 回答
1

AFAIK,您无法将其保存到应用程序包。我建议你编写自己的方法来加载像 [UIImage imageNamedCustom:...] 这样的图像。如果此方法首先在资产中搜索图像,如果没有找到尝试从文档或缓存加载,那就太好了。此外,它可能会缓存保存图像的路径。之后,您可以将所有出现的“[UIImage imageNamed:”替换为“[UIImage imageNamedCustom:”和其他类似方法。

于 2012-09-26T13:51:00.260 回答