0

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

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

在此处输入图像描述

这是影子的代码:

...
    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);
...

如您所见,阴影在底部被截断,这就是视图框架结束的地方。我可以将阴影延伸到框架“外部”吗?

4

1 回答 1

1

使用CALayer阴影属性而不是在其中绘制阴影drawRect:

  • shadowOpacity
  • shadowRadius
  • shadowOffset
  • shadowColor
  • shadowPath

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

于 2013-07-22T12:20:40.403 回答