我的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;
}
答案 0 :(得分:0)
与答案一样:https://stackoverflow.com/a/23355129/1751266
您是否有可能将图像创建为不透明而不是透明?如果你正在使用UIGraphicsBeginImageContextWithOptions或类似的,那么第二个参数应该是NO。