我试图使用破折号模式来描述CAShapeLayer中的路径.我使用lineDashPattern属性创建了许多破折号模式.但是这个属性并没有为strokes类型提供任何选项.我想成为我的破折号是圆点,如下图所示:
我知道它可以实现,因为我在许多应用程序中看到过这一点.但是我无法在CAShapeLayer库中找到任何实现方法.所以我想知道如何获得这些圆点破折号模式?
解决方法
您所要做的就是为CAShapeLayer的lineCap属性设置kCALineCapRound,然后将lineDashPattern设置为[0.0,x],其中例如x为2 * CAShapelayer的线宽,如果您希望点之间的边距为只要你的点直径.
lineDashPattern中第一个绘制的段的0.0是因为kCALineCapRound在绘制的段的前面和后面绘制一个半圆,任何大于零的绘制段都会导致点成为一个药丸.