最初的回答:在Swift 4中,使用Xcode IDE可以轻松绘制圆形,代码如下:
然而,我想画一条从点A到点B的线,而不是画一个圆。我可以通过参照这里的示例代码来画一条线:https://www.youtube.com/watch?v=9sJxtzTo8W0 为了让线看起来与示例中相同,我需要在主Storyboard中更改视图。
以下是问题列表:
- 这是否意味着我在整个项目中只能有1种可查看的自定义类别? - 我能否使线路默认可见,而不受特定Storyboard视图的限制? - 为什么圆形可以渲染而无需定义类对象,但线条却需要我定义类对象? - 是否有一种方式可以简单地即时绘制一条线,就像我可以即时绘制一个圆形一样?
在Swift 4中,使用Xcode IDE,我可以很容易地绘制一个圆形:
let circlePath = UIBezierPath(arcCenter: CGPoint(
x: 100,
y: 100),
radius: 50,
startAngle: CGFloat(0),
endAngle:CGFloat(Double.pi * 2),
clockwise: true)
let shapeLayer = CAShapeLayer()
shapeLayer.path = circlePath.cgPath
shapeLayer.fillColor = UIColor.white.cgColor
shapeLayer.strokeColor = UIColor.black.cgColor
shapeLayer.lineWidth = 2.0
然而,我想画一条从点A到点B的线,而不是画一个圆。我可以通过参照这里的示例代码来画一条线:https://www.youtube.com/watch?v=9sJxtzTo8W0 为了让线看起来与示例中相同,我需要在主Storyboard中更改视图。
以下是问题列表:
- 这是否意味着我在整个项目中只能有1种可查看的自定义类别? - 我能否使线路默认可见,而不受特定Storyboard视图的限制? - 为什么圆形可以渲染而无需定义类对象,但线条却需要我定义类对象? - 是否有一种方式可以简单地即时绘制一条线,就像我可以即时绘制一个圆形一样?
CGFloat
的引用。例如,只需使用以下代码:let circlePath = UIBezierPath(arcCenter: CGPoint(x: 100, y: 100), radius: 50, startAngle: 0, endAngle: .pi * 2, clockwise: true)
。 - Rob