iOS - 利用 UIBezierPath 绘制圆弧
iOS - 利用 UIBezierPath 绘制圆弧
API
UIBezierPath 绘制圆弧主要利用以下方法:
open func addArc(withCenter center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: Bool)
方法中各参数含义:
- center:圆心
- radius:半径
- startAngle:开始弧度
- endAngle:结束弧度
- clockwise:绘制方向,YES 为顺时针,NO 为逆时针
要绘制这样一个圆弧
let radius = 40.0
let startPoint = CGPointMake(50, 200)
let endPoint = CGPointMake(150, 200)
let centerPoint = CGPointMake(150 + radius, 200)
let path = UIBezierPath()
//逆时针
path.addArc(withCenter: centerPoint, radius: radius, startAngle: .pi, endAngle: 1.5 * .pi, clockwise: false)
//顺时针
path.addArc(withCenter: centerPoint, radius: radius, startAngle: 1.5 * .pi, endAngle: .pi, clockwise: true)
两个点的度数分别是pi和1.5pi
path画好之后添加到CAShapeLayer上
let tempV = CAShapeLayer()
tempV.strokeColor = UIColor.plw_hexColor("#58CE72").cgColor
tempV.lineWidth = lineWidth
tempV.fillColor = UIColor.clear.cgColor
tempV.lineCap = .round
tempV.path = path.cgPath
并设置一些属性,线条的颜色,线条的形状,宽度,内部的填充颜色等等
self.view.layer.addSublayer(tempV)
最后将此layer添加到view的layer上
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!