我的 iPad 应用程序中有一个让我发疯的错误。该应用程序允许用户将剪贴画放到页面上。剪贴画图像是具有透明背景的PNG。我创建了一个简单的 UIImageView 并将 opaque 设置为 NO。在我所有的测试中,一切正常。但是,使用旧 iPad(可能是 iPad 2?)的人似乎有黑色背景。这似乎不是 iOS 的问题,但似乎是 iPad 的问题。
您可以在其中看到 90-95% 的剪贴画图像非常好,而 5-10% 具有黑色背景的网站:http: //www.printpad.com
我用于 UIImageView 的代码:
UIImageView *imageView = [[UIImageView alloc] initWithImage:resized imageBorderColor:borderColor imageBorderWidth:borderWidth];
[imageView.layer setOpaque:NO];
imageView.opaque = NO;
imageView.frame = rect;
[view addSubview:imageView];
我真的希望有人遇到过这个问题并且可以提供帮助,因为我什至想不出如何调试或任何东西。谢谢!!!!!
编辑:原始图像被下载到 Documents 目录中,然后像这样调整大小:
UIImage *image = [UIImage imageWithContentsOfFile:path];
CGSize newSize = [MyUtility getNewSize:image.size maximumSize:CGSizeMake(200, 200)];
UIImage *resized = [UIImage imageWithImage:image scaledToSize:newSize];
这是 imageWithImage 类别:
+ (UIImage *)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize
{
[self beginImageContextWithSize:newSize];
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
[self endImageContext];
return newImage;
}