BatteryView
Simple battery shaped UIView.
Usage
let batteryView = BatteryView(frame: smallRect)
batteryView.level = 42 // anywhere in 0...100
batteryView.lowThreshold = 25 // battery fill becomes red if level is below this threshold
batteryView.gradientThreshold = 50 // battery fill gradually changes from green to red below this threshold
SwiftUI
Use BatteryShape
from the swiftui branch.
Changing Appearance
The properties below can be set in Interface Builder, in code, or through a UIAppearance proxy (e.g., BatteryView.appearance().borderColor = .gray
).
Colors:
batteryView.borderColor = .darkGray
batteryView.highLevelColor = .green
batteryView.lowLevelColor = .red
batteryView.noLevelColor = .gray
batteryView.noLevelText = "?" // shown over battery when the level is undefined or out of bounds
Battery Shape:
batteryView.direction = .minXEdge // terminal facing left
batteryView.terminalLengthRatio = 0.1 // relative to battery length
batteryView.terminalWidthRatio = 0.4 // relative to battery width
batteryView.borderWidth = 2.5 // default is batteryLength / 20
batteryView.cornerRadius = 5 // default is batteryLength / 10
Installation
CocoaPods:
pod 'BatteryView'
Swift Package Manager:
dependencies: [
.package(url: "https://github.com/yonat/BatteryView", from: "1.3.9")
]