- July 26, 2025
- Mins Read
Simple battery shaped UIView
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
BatteryShape(level: $level)
The properties below can be set in Interface Builder, in code, or through a UIAppearance proxy (e.g., BatteryView.appearance().borderColor = .gray
). When using SwiftUI you can set them in the BatteryShape
initializer .
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
pod ‘BatteryView’
NavigationKit is a lightweight library which makes SwiftUI navigation super easy to use. 💻 Installation 📦 Swift Package Manager Using Swift Package Manager, add ...
An alternative SwiftUI NavigationView implementing classic stack-based navigation giving also some more control on animations and programmatic navigation. NavigationStack Installation ...
With SwiftUI Router you can power your SwiftUI app with path-based routing. By utilizing a path-based system, navigation in your app becomes ...
This package takes SwiftUI's familiar and powerful NavigationStack API and gives it superpowers, allowing you to use the same API not just ...