CGContextSetLineDash

CGContextSetLineDash(CGContextRef cg_nullable c, CGFloat phase, const CGFloat * __nullable lengths, size_t count)
  • 设置虚线点的大小以及虚线点间隔大小的方法
参数
  • c 上下文内容
  • lengths 传入一个C语言的数组, 如下表示绘制1个点, 跳过10个点, 如此循环
// 部分代码
CGFloat components[] = {1,10}; 
CGContextSetLineDash(context, 0, components, 2);
绘制1个点, 跳过10个点

绘制10个点, 跳过1个点

仔细看, 其实当数组传入的是{0,10}, 0也是能看到一个很小的点的

  • count 就是传入lengths这个数组的长度, 如上面的components数组, count应该传入2, 如果count的数值和lengths数组的长度不一致, 每次生成的虚线可能都不一样
  • phase 虚线相位, 第一个虚线绘制的时候跳过多少个点, 相当于向左移动了虚线, 如下代码及结果(忽略截图长度)
// 部分代码
CGFloat components[] = {1,10}; 
CGContextSetLineDash(context, 0, components, 2);

CGFloat components[] = {1,10}; 
CGContextSetLineDash(context, 5, components, 2);

CGFloat components[] = {100,1}; 
CGContextSetLineDash(context, 0, components, 2);

CGFloat components[] = {100,1}; 
CGContextSetLineDash(context, 50, components, 2);



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容