【发布时间】:2019-12-06 22:55:37
【问题描述】:
我正在编写一个程序,它将取一个介于 0 和 1 之间的数字,然后吐出一个圆(我猜是圆弧)。
例如,如果输入0.5,程序会输出一个半圆
如果为 0.1,程序将输出一个很小的圆弧,最终占整个圆的 10%。
我可以通过将角度起点设为 0 并将角度终点设为 2*M_PI*decimalInput 来实现这一点
但是,我需要在圆的顶部有起点,所以起点是3*M_PI_2,终点是7*M_PI_2
我只是无法用这些新的起点/终点绘制一个部分完整的圆。我承认,我的数学不是最好的,所以任何建议/意见都值得赞赏
这是我目前所拥有的
var decimalInput = 0.75 //this number can be any number between 0 and 1
let start = CGFloat(3*M_PI_2)
let end = CGFloat(7*M_PI_2*decimalInput)
let circlePath = UIBezierPath(arcCenter: circleCenter, radius: circleRadius, startAngle: start, endAngle: end, clockwise: true)
circlePath.stroke()
尽管我尝试了,但我似乎无法做到正确。我认为结束角度是罪魁祸首,除非我走错路了
【问题讨论】:
标签: swift uibezierpath