在UIView下阴影切断

时间:2013-07-22 12:16:34

标签: ios uiview core-graphics shadow

我试图在UIView下添加一些阴影。

drawRect中,我创建了一个圆角矩形贝塞尔曲线路径,并在其上添加了一个弯曲的箭头状底部(蓝色东西)

enter image description here

这是影子的代码:

...
    CGContextSaveGState(context);
        CGContextAddPath(context, rectPath.CGPath);  // rectPath is the bezier
        CGContextSetShadowWithColor(context,shadowSize, 3.0, [[[UIColor blackColor]  colorWithAlphaComponent:0.7]CGColor]);    
        CGContextFillPath(context);
    CGContextRestoreGState(context);
...

如您所见,阴影在底部被截断,即视图框架结束的位置。我可以扩展阴影"外面"框架 ?

1 个答案:

答案 0 :(得分:1)

使用CALayer阴影属性,而不是在drawRect:

中绘制阴影
  • shadowOpacity
  • shadowRadius
  • shadowOffset
  • shadowColor
  • shadowPath

这可能会导致一些性能问题,您可以使用shadowPath属性来减少这些问题。