我必须画一条从0,0开始的直线,有一些长度和角度(从视图的顶部)。目前能够通过给出起点和终点而不是结束点来创建一条线,我必须使用角度和长度,任何帮助吗?
以下是代码:
select.input-field{padding: 2px 12px;}
答案 0 :(得分:4)
有很多方法可以做到这一点。一种方法是从沿Y轴的单位长度线开始。将线旋转到所需的角度并将其缩放到所需的长度。例如:
let angleInRadians: CGFloat = ...
let length: CGFloat = ...
let path = UIBezierPath()
path.move(to: .zero)
path.addLine(to: CGPoint(x: 0, y: 1))
path.apply(.init(rotationAngle: angleInRadians))
path.apply(.init(scaleX: length, y: length))
另一种方法是直接使用三角函数来计算线的非原点终点:
let angleInRadians: CGFloat = ...
let length: CGFloat = ...
let path = UIBezierPath()
path.move(to: .zero)
path.addLine(to: CGPoint(x: -sin(angleInRadians) * length, cos(angleInRadians) * length))