画一个隐藏在半透明视图下的阴影?

时间:2011-12-18 13:37:05

标签: iphone objective-c core-graphics

我有一个带阴影的半透明视图。我在Photoshop中嘲笑它,它不会在物体下画阴影。然后我在xcode中创建了它,但它显然确实在下面绘制了阴影。我想知道是否有办法避免这种情况。换句话说 - 阴影只出现在形状之外吗?

2 个答案:

答案 0 :(得分:3)

您可能希望将图层的栅格化属性设置为YES,这将在其他效果(如不透明度)应用于视图之前合成阴影。

但请注意,这会对性能产生很大影响。这里有一个方便的表格,其中包含不同的影子实现及其性能影响:http://www.omnigroup.com/blog/entry/ipad_drop_shadow_performance_test/

答案 1 :(得分:1)

使用CGContextEOClip设置排除形状的剪切路径,然后设置阴影并绘制完全不透明的形状。 this answer中有一些示例代码。