Contents

yonat/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 Usage

BatteryShape(level: $level)

Changing Appearance

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

Installation

CocoaPods:

pod 'BatteryView'

Swift Package Manager:

dependencies: [
    .package(url: "https://github.com/yonat/BatteryView", from: "1.4.4")
]

Meta

@yonatsharon

https://github.com/yonat/BatteryView

[swift-image]:https://img.shields.io/badge/swift-4.2-orange.svg [swift-url]: https://swift.org/ [license-image]: https://img.shields.io/badge/License-MIT-blue.svg [license-url]: LICENSE.txt [travis-image]: https://img.shields.io/travis/dbader/node-datadog-metrics/master.svg?style=flat-square [travis-url]: https://travis-ci.org/dbader/node-datadog-metrics

Package Metadata

Repository: yonat/batteryview

Default branch: master

README: README.md