Giter VIP home page Giter VIP logo

batteryview's Introduction

BatteryView

Simple battery shaped UIView.

Swift Version Build Status License CocoaPods Compatible
Platform PRs Welcome

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.3")
]

Meta

@yonatsharon

https://github.com/yonat/BatteryView

batteryview's People

Contributors

bstern11 avatar yonat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

batteryview's Issues

The Privacy Manifest is Defective

Description of the problem:
The privacy manifest is missing some keys.

NSPrivacyCollectedDataTypes
NSPrivacyTrackingDomains
NSPrivacyAccessedAPITypes

I think these can all be empty arrays but they need to be present.

Please see IQKeyboardManagerSwift for an example of a simple privacy manifest.

https://github.com/hackiftekhar/IQKeyboardManager/blob/master/IQKeyboardManagerSwift/PrivacyInfo.xcprivacy

I see this error in my Privacy Report:

Screenshot 2024-04-01 at 4 31 54 PM

Minimal project that reproduces the problem (so I'll be able to figure out how to fix it):
[link to a Minimal Reproducible Example as described at https://ootips.org/yonat/repex ]

I assume that the Privacy Report can be generated with the BatteryViewDemo and latest Xcode (but I didn't try it).

Add charging thunder

When charging the battery usually has a charging thunder
maybe add support to add an icon that overlaps the battery?

BatteryView pod doesn't compile on XCode14

I'v updated to Xcode14 now your pod 'BatteryView' does'nt compile in my project anymore.
If I make a blank iOS app and then init the Pod everything works fine and I can compile the minimalized test project.

In my project I get the issue: error build: Undefined symbol: _$s11BatteryViewAACMn

Any suggestions how I can solve the problem?
With the older XCode Version everything worked fine. The IDE shows me that the Designables are up to date.

Kind regards

    René

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.