我目前正在屏幕上绘画。我得到的线条流畅,可以更改图纸的颜色。但是我找不到如何在那条线上加上阴影。
要绘制它,我使用:
[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/