如何解决带有 UI Bezier 路径的聊天气泡
我想用 UI Bezier Path 创建聊天气泡,但我是 Bezier Path 的新手,请在这方面帮助我。谢谢
private func getRightBottomBubblePath(in rect: CGRect) -> Path {
let width = rect.width
let height = rect.height
let path = Path { p in
p.move(to: CGPoint(x: 25,y: height))
p.addLine(to: CGPoint(x: 20,y: height))
p.addCurve(to: CGPoint(x: 0,y: height - 20),control1: CGPoint(x: 8,y: height),control2: CGPoint(x: 0,y: height - 8))
p.addLine(to: CGPoint(x: 0,y: 20))
p.addCurve(to: CGPoint(x: 20,y: 0),control1: CGPoint(x: 0,y: 8),control2: CGPoint(x: 8,y: 0))
p.addLine(to: CGPoint(x: width - 21,y: 0))
p.addCurve(to: CGPoint(x: width - 4,y: 20),control1: CGPoint(x: width - 12,control2: CGPoint(x: width - 4,y: 8))
p.addLine(to: CGPoint(x: width - 4,y: height - 11))
p.addCurve(to: CGPoint(x: width,control1: CGPoint(x: width - 4,y: height - 1),control2: CGPoint(x: width,y: height))
p.addLine(to: CGPoint(x: width + 0.05,y: height - 0.01))
p.addCurve(to: CGPoint(x: width - 11,y: height - 4),y: height + 0.5),control2: CGPoint(x: width - 8,y: height - 1))
p.addCurve(to: CGPoint(x: width - 25,control1: CGPoint(x: width - 16,control2: CGPoint(x: width - 20,y: height))
}
return path
}
我通过使用它得到了这个结果,但我需要出现的句柄必须在中间右侧。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。