Skip to content

Commit 604368f

Browse files
committed
cleaner way of describing arcs
1 parent c0186b6 commit 604368f

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

bk2ch12p566customThermometer/ch25p840customThermometer/MyProgressView.swift

+14-5
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,21 @@ class MyProgressView: UIView {
1111
let ins : CGFloat = 2
1212
let r = self.bounds.insetBy(dx: ins, dy: ins)
1313
let radius : CGFloat = r.size.height / 2
14-
let d90 = CGFloat.pi/2
14+
let midbottom = CGPoint(r.midX, r.maxY)
1515
let path = CGMutablePath()
16-
path.move(to:CGPoint(r.maxX - radius, ins))
17-
path.addArc(center:CGPoint(
18-
radius+ins, radius+ins), radius: radius, startAngle: -d90, endAngle: d90, clockwise: true)
19-
path.addArc(center:CGPoint(r.maxX - radius, radius+ins), radius: radius, startAngle: d90, endAngle: -d90, clockwise: true)
16+
path.move(to: midbottom)
17+
path.addArc(tangent1End: CGPoint(r.maxX, r.maxY),
18+
tangent2End: CGPoint(r.maxX, r.minY),
19+
radius: radius)
20+
path.addArc(tangent1End: CGPoint(r.maxX, r.minY),
21+
tangent2End: CGPoint(r.minX, r.minY),
22+
radius: radius)
23+
path.addArc(tangent1End: CGPoint(r.minX, r.minY),
24+
tangent2End: CGPoint(r.minX, r.maxY),
25+
radius: radius)
26+
path.addArc(tangent1End: CGPoint(r.minX, r.maxY),
27+
tangent2End: CGPoint(r.maxX, r.maxY),
28+
radius: radius)
2029
path.closeSubpath()
2130
c.addPath(path)
2231
c.setLineWidth(2)

0 commit comments

Comments
 (0)