这可能很难,但是 我必须保存屏幕上某些时刻出现的文件。 但不只是一个文件,我需要将其保存到我的资产文件夹: 我的目标是我以后可以使用没有的图像:
dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
但只是使用它就像我的资产一样,只是使用:@"myImage.png"
,当myImage
是我已经从我的打印屏幕保存的图像时
关于如何做到这一点的任何方向? 谢谢。
答案 0 :(得分:1)
您应用的主要捆绑包是该应用的一部分,并且是只读的。您无法在设备上添加或删除内容。您必须将该图像保存到应用程序沙箱中的某个目录,例如Documents
或Library/Caches
。
而不是+[UIImage imagedNamed:]
,或许+[UIImage imageWithContentsOfFile:]
对您有用吗?
答案 1 :(得分:1)
如果我理解正确的话,你所说的是你想在图像中保存一部分图形(这很容易),并希望稍后从你的应用程序包中检索(我认为你的意思是而不是术语资产)。这是不可能的,因为应用程序包在运行时是只读的。
答案 2 :(得分:1)
AFAIK,您无法将其保存到应用包中。 我建议你编写自己的方法来加载像[UIImage imageNamedCustom:...]这样的图像。 如果这个方法首先搜索资产中的图像,如果没有找到尝试从文档或缓存加载,那将是很好的。此外,它可以缓存保存图像的路径。之后,您可以将所有出现的“[UIImage imageNamed:”替换为“[UIImage imageNamedCustom:”和其他类似的方法。