Iphone 为什么这个透明图像在设备上显示为白色背景?

Iphone 为什么这个透明图像在设备上显示为白色背景?,iphone,objective-c,ios,core-graphics,Iphone,Objective C,Ios,Core Graphics,我正在使用石英在iOS上创建一个透明图像。但是,该图像在模拟器中显示为适当的透明度,但在设备上显示为白色背景 以下是我用于此目的的代码: + (UIImage *)clearRect:(CGRect)rect inImage:(UIImage *)image { if (UIGraphicsBeginImageContextWithOptions != NULL) UIGraphicsBeginImageContextWithOptions([image size], N

我正在使用石英在iOS上创建一个透明图像。但是,该图像在模拟器中显示为适当的透明度,但在设备上显示为白色背景

以下是我用于此目的的代码:

+ (UIImage *)clearRect:(CGRect)rect inImage:(UIImage *)image {
    if (UIGraphicsBeginImageContextWithOptions != NULL)
        UIGraphicsBeginImageContextWithOptions([image size], NO, 0.0);
    else
        UIGraphicsBeginImageContext([image size]);
    CGContextRef context = UIGraphicsGetCurrentContext();
    [image drawInRect:CGRectMake(0.0, 0.0, [image size].width, [image size].height)];
    CGContextClearRect(context, rect);
    UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
    NSData *data= UIImagePNGRepresentation(result);
    UIImage *img = [UIImage imageWithData:data];
    UIGraphicsEndImageContext();
    return img;
}
这是我在设备上看到的:


我可能做错了什么?

鉴于代码在模拟器中工作,而不是在您的设备中,您可能已经成为下面描述的cruftmonster的受害者:

您可能有一些旧文件已从Xcode项目中删除,但在设备上没有应用程序包。您最初是否使用不透明图像进行测试


不确定这是否是解决方案,但它肯定与您描述的症状相匹配。

鉴于代码在模拟器中工作,而不是在您的设备中工作,您可能已成为下面描述的cruftmonster的受害者:

您可能有一些旧文件已从Xcode项目中删除,但在设备上没有应用程序包。您最初是否使用不透明图像进行测试


不确定这是否是解决方案,但它肯定符合您描述的症状。

我粘贴了您的代码,在参考资料中插入了一幅图像,在iPad 2上运行,以png格式保存到文档中,并在PS中打开。它是透明的。你似乎做错了什么。它在模拟器中显示得很透明。。但不显示在设备中。。顺便说一句,谢谢。我测试了你在设备上发布的方法。它很好用。你的表达方式一定有问题。至于“如何在iOS中创建透明图像”的问题,答案已经是您发布的代码了。在设备上的应用程序中,您的演示结果是什么?你们在模拟器中看到或看不到的是什么。。你能把你的演示项目寄给我吗。。我的邮件id是manimodi@gmail.com谢谢。我粘贴了你的代码,在参考资料中插入了一幅图片,在iPad2上运行,以png格式保存到文档中,然后用PS打开。它是透明的。你似乎做错了什么。它在模拟器中显示得很透明。。但不显示在设备中。。顺便说一句,谢谢。我测试了你在设备上发布的方法。它很好用。你的表达方式一定有问题。至于“如何在iOS中创建透明图像”的问题,答案已经是您发布的代码了。在设备上的应用程序中,您的演示结果是什么?你们在模拟器中看到或看不到的是什么。。你能把你的演示项目寄给我吗。。我的邮件id是manimodi@gmail.com谢谢..我正在设备中安装新代码。。最近的已删除。。但同样的问题。。但谢谢朋友,我正在设备中安装新的和新鲜的代码。。最近的已删除。。但同样的问题。。但是谢谢你,朋友。。