24 lines
766 B
Swift
24 lines
766 B
Swift
import UIKit
|
|
|
|
enum ProxyState {
|
|
case stopped, unkown, running
|
|
}
|
|
|
|
@IBDesignable
|
|
class DotState: UIImage {
|
|
var status: ProxyState = .stopped // { didSet { }}
|
|
|
|
override func draw(in rect: CGRect) {
|
|
let pt = CGPoint(x: rect.midX, y: rect.midY)
|
|
let r = min(rect.size.width, rect.size.height) / 2.0 * 0.6
|
|
switch status {
|
|
case .stopped: #colorLiteral(red: 0.9254902005, green: 0.2352941185, blue: 0.1019607857, alpha: 1).setFill()
|
|
case .unkown: #colorLiteral(red: 0.9529411793, green: 0.6862745285, blue: 0.1333333403, alpha: 1).setFill()
|
|
case .running: #colorLiteral(red: 0.4666666687, green: 0.7647058964, blue: 0.2666666806, alpha: 1).setFill()
|
|
}
|
|
UIBezierPath(arcCenter: pt, radius: r, startAngle: 0, endAngle: 10, clockwise: true).fill()
|
|
}
|
|
}
|
|
|
|
|