从文件加载的 UIImage 部分为黑色

UIImage loaded from file is partly black

我正在开发一个必须保存和加载可变数量的 UIImage 的应用程序。目前我正在用 126 张图片对其进行测试。

我使用一个 for 循环将每个 UIImage 的数据写入一个文件,并使用另一个 for 循环再次加载图像。 我使用以下代码将 UIImages 保存到文件中:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *component = [NSString stringWithFormat:@"ImageFile%i.png",[sing.externComponentCounter intValue]];
sing.externComponentCounter = [NSNumber numberWithInt:[sing.externComponentCounter intValue]+1];
NSString *path = [documentsDirectory stringByAppendingPathComponent:component];
self.sideOneImagePath = component;
NSData *imageOneData = UIImagePNGRepresentation(self.sideOneImage);
[imageOneData writeToFile:path atomically:YES];

externalCounter 是我的单例对象 sing 的一个 NSNumber 属性。

为了加载我使用的 UIImages:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:self.sideOneImagePath];
self.sideOneImage = [UIImage imageWithContentsOfFile:path];

此代码通常运行良好,但 UIImage 有时底部有黑条或线条。
例如https://www.dropbox.com/s/8qt2x45sqqnkwzy/image1.JPG?dl=0

请注意,图片底部的黑条不应存在,因为现在无法阅读图片上的整个文本。
到目前为止,我无法识别这种情况何时发生的模式,它似乎是随机发生的。它永远不会发生在一张图片上,但总是发生在所有这 126 个 UIImages 上。要么它工作得很好,要么所有的图片都有一个大小不一的黑条。

我正在使用最新的 iOS 版本在 iPhone 6 上测试应用程序,我使用的是最新的 Xcode 版本。

不幸的是,我完全不知道是什么导致了我的问题,而且我在互联网上也没有发现任何类似的问题。

提前致谢,如有任何帮助,我们将不胜感激!

尽管已经两年多了,但我正在为其他人回答我自己的问题。

问题是我同时将所有文件写入磁盘。显然这太过分了。

我只是更改了应用程序逻辑,以确保图像在用户添加后立即保存,而不是最后才保存。