我目前正在屏幕上绘画。我得到的线条流畅,可以更改图纸的颜色。但是我找不到如何在那条线上加上阴影。

要绘制它,我使用:

[path strokeWithBlendMode:[path blendMode] alpha:1.0];

我看到我可以使用CGContextSetShadowWithColor(),但是尽管如此,我也不知道如何使用它,因为这是strokeWithBlendMode的CGPath引用中所说的:



所以我真的不知道在哪里可以放置CGContextSetShadowWithColor()或其他任何内容。

问候

最佳答案

如果要使用CGContextSetShadowwithColor(),则需要更改将bezierpath绘制到 View 的方式,以便将CGPath表示形式绘制到CGContext。下面是一个示例:

UIBezierPath *path;     // this is your path as before
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextAddPath(context, path.CGPath);
CGContextSetLineWidth(context, 2.0);
CGContextSetBlendMode(context, path.blendMode);
CGContextSetShadowWithColor(context, CGSizeMake(1.0, 1.0), 2.0, [UIColor blackColor].CGColor);
CGContextStrokePath(context);

您可以执行此操作的另一种方法是,创建一个新的CAShapeLayer并将其设置为path属性,从而绘制路径。这将使您可以轻松添加仅阴影路径的阴影。

关于ios - 在UIBezierPath的两侧都应用阴影,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13646507/

10-14 23:14