UIImageView与iOS 7没有显示

时间:2013-09-21 19:21:45

标签: ios objective-c xcode uiimageview ios7

我有一个我为iOS 6构建的应用程序,我最近升级到了iOS 7.我有一个UIScrollView,其中包含一些自定义UIViews。在这些UIViews中,我在每个UIImageView中都有一个UIImageView.image。出于某种原因,当我在iOS 6中设置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++; } 时,它显示正常,但iOS 7不会显示它们。这是代码:

@"It Worked"

我的应用正在记录:UIImageView.image,因此我知道nil不是UIImage *imageForView = [UIImage imageWithData:[imagesArray objectAtIndex:i]]; imageForView = [imageForView imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; imageView.image = imageForView; 。我能做错什么?

编辑:

我尝试了UIImageRenderingMode:

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]);
}

仍然无法正常工作。但是,@ Max_Power89说:

  

因为它是在苹果开发者论坛上写的:imageWithData bug   报告

     

这一定是个bug。我希望他们尽早解决问题。

编辑2:

我还补充说:

{{1}}

图像保存在应用程序的目录中,所以我确定图像不是零。

4 个答案:

答案 0 :(得分:1)

iOS 7中的自动布局约束是一个问题/错误。如果删除UIView上的约束,则没有问题。如果需要,可以通过编程方式设置框架。

答案 1 :(得分:0)

在iOS 7中,默认情况下加载图像只会加载它的alpha Chanel,并使用细节色调着色。您的图像正在显示,只是它与背景颜色相同。

- (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode

将其设置为:

UIImageRenderingModeAlwaysOriginal

答案 2 :(得分:0)

因为它写在苹果开发者论坛上:imageWithData bug report

这一定是个bug。我希望他们尽早解决问题。

答案 3 :(得分:0)

也许这对任何人都有帮助:我遇到了同样的问题 - 至少它看起来像这样。最后我发现, UIScrollView 隐藏了一些背景视图层。 UIScrollView背景在.xib文件中设置为“组表视图背景颜色”。如果我将其更改为“clear color”,则行为将恢复正常(如iOS 6中所示)。似乎,该元素的“默认行为”已从iOS6更改为7.也许有人能够确认这一点。