我有一个我正在为 iOS 6 构建的应用程序,我最近升级到了 iOS 7。我有一个UIScrollView
带有一些 Custom的应用程序UIViews
。在这些中UIViews
,我UIImageView
在每个中都有一个。出于某种原因,当我UIImageView.image
在 iOS 6 中设置时,它显示得很好,但 iOS 7 不会显示它们。这是代码:
int i = 0;
for (UIImageView *imageView in myImageViewsOutletCollection)
{
imageView.image = nil;
if (imagesArray.count > i)
imageView.image = [UIImage imageWithData:[imagesArray objectAtIndex:i]];
if (imageView.image == nil)
NSLog(@"signature image with index: %i is nil", i);
else
NSLog(@"It Worked")
i++;
}
我的应用程序正在记录:@"It Worked"
,所以我知道UIImageView.image
不是nil
。我可能做错了什么?
编辑:
我尝试了 UIImageRenderingMode:
UIImage *imageForView = [UIImage imageWithData:[imagesArray objectAtIndex:i]];
imageForView = [imageForView imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
imageView.image = imageForView;
仍然没有工作。但是,@Max_Power89 说:
正如苹果开发者论坛上所写的那样:imageWithData 错误报告
这一定是一个错误。我希望他们早日解决问题。
编辑2:
我还添加了这个:
NSData *pngData = UIImagePNGRepresentation(imageView.image);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *docs = [paths objectAtIndex:0];
NSError *writeError = nil;
[pngData writeToFile:[docs stringByAppendingFormat:@"/image.png"] options:NSDataWritingAtomic error:&writeError];
if(writeError!=nil)
{
NSLog(@"%@: Error saving image: %@", [self class], [writeError localizedDescription]);
}
该图像保存在应用程序的目录中,因此我确定该图像不是零。