(iphone)我在图像后面出现黑色矩形,为什么?
问题描述:
我有UIImageView子类实例有多个图像子层。(iphone)我在图像后面出现黑色矩形,为什么?
我想动态地添加/删除阴影到这个视图。
以下代码对于具有一个子图层的imageView可以正常工作(imageView子类的实现),但对于具有多个子图层的imageView显示黑色矩形而不是阴影。
(实际上,对于一个层图像,代码似乎继续,如果多次运行以前的影子的顶部添加阴影,但是这是一个小问题)
- (void) drawLayer: (CALayer*) layer inContext: (CGContextRef)context
{
SYSLOG(LOG_DEBUG, "in drawLayer, isShadowed: %d", isShadowed);
if(isShadowed == true)
{
CGContextSaveGState(context);
CGContextClearRect(context, self.bounds);
CGContextSetShadow(context, CGSizeMake(10, 10), 3);
CGContextBeginTransparencyLayer(context, NULL);
[layer renderInContext:context];
CGContextEndTransparencyLayer(context);
CGContextRestoreGState(context);
}
else
{
[layer renderInContext:context];
}
}
谢谢
答
如果您的图层的opaque
不是否,CGContextClearRect绘制黑色而不是在图层中打孔透明孔。我猜这就是问题所在。