iPhone UIImage重叠渲染bug

时间:2009-11-09 21:59:18

标签: iphone objective-c uiimageview uiimage

我在iPhone OS 3.0上遇到了一个奇怪的渲染错误......

我有两张照片。一个是非透明的PNG,主要是黑色,白色渐变向上渐变。

第二个是透明的PNG,半透明的云。

当我使用UIImageView覆盖两者时,云和白色渐变的交叉会触发渲染错误,导致看起来很奇怪的图形毛刺,从顶部的图像中移除所有不透明度(在这种情况下是云),并导致图像的glitched部分呈现在当前视图中的所有图层之上(包括技术上位于其下的图层)。

它仅发生在图像的两个部分的交叉处。因此,通常只有一个非常小的块正在经历错误,而其余图像正常呈现。

有没有人看过这个,有没有人有修复?我想在进入核心动画之前检查一下,希望能解决这个问题(因为我认为CA甚至OpenGL更容易处理重叠的alpha通道)。

在此处找到截图:

http://www.jasconi.us/glitch.jpg

您可以在右下角看到两个图像的交叉点。

2 个答案:

答案 0 :(得分:2)

根据您的描述,这似乎是Apple代码中的一个错误。我会向Apple报告并等待修复。

与此同时,您可以尝试在Core Animation或OpenGL中实现相同的功能,希望bug在更高级别的UIImageView中,但由于UIImageView本身使用Core Animation,因此这个bug很可能只是在它被修复之前是不可避免的。

答案 1 :(得分:0)

我假设您正在使用UIImageView显示它们?如果是这样,您是否在透明视图上将opaque设置为NO?