【发布时间】:2019-08-11 08:31:51
【问题描述】:
我使用以下代码通过 UIBezierPath 创建了一个星形图像:
let path = UIBezierPath()
let center = CGPoint(x: rect.width / 2.0, y: rect.height / 2.0)
let xCenter: CGFloat = center.x
let yCenter: CGFloat = center.y
let w = rect.width
let r = w / 2.0
let flip: CGFloat = -1.0 // use this to flip the figure 1.0 or -1.0
let polySide = CGFloat(5)
let theta = 2.0 * Double.pi * Double(2.0 / polySide)
path.move(to: CGPoint(x: xCenter, y: r * flip + yCenter))
for i in 1..<Int(polySide) {
let x: CGFloat = r * CGFloat( sin(Double(i) * theta) )
let y: CGFloat = r * CGFloat( cos(Double(i) * theta) )
path.addLine(to: CGPoint(x: x + xCenter, y: y * flip + yCenter))
}
path.close()
我想给星星的每个角赋予角半径。我试过了,但我想不通。你能帮我做这件事吗?
【问题讨论】:
-
向我们展示最终路径对象的样子。 “我试过 smth”是什么意思?
-
El Tomato,没什么大不了的。我认为它对你没有帮助。
标签: ios swift uibezierpath