[英]iOS UINavigationController after setting background to transparent shows black screen
[英]PNG with transparent background shows black on older iPads
我的iPad应用程序中有一个错误使我发疯。 该应用程序允许用户将剪贴画拖放到页面上。 剪贴画图像是具有透明背景的PNG。 我创建一个简单的UIImageView并将不透明设置为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;
}
就像这里的答案一样: https : //stackoverflow.com/a/23355129/1751266
您是否可能将图像创建为不透明而不是透明? 如果您使用的是UIGraphicsBeginImageContextWithOptions或类似方法,则第二个参数应为NO。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.