BatteryLevelHUDView.swift 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //
  2. // BatteryLevelHUDView.swift
  3. // Naterade
  4. //
  5. // Created by Nathan Racklyeft on 5/2/16.
  6. // Copyright © 2016 Nathan Racklyeft. All rights reserved.
  7. //
  8. import UIKit
  9. public final class BatteryLevelHUDView: LevelHUDView, NibLoadable {
  10. override public var orderPriority: HUDViewOrderPriority {
  11. return 5
  12. }
  13. public class func instantiate() -> BatteryLevelHUDView {
  14. return nib().instantiate(withOwner: nil, options: nil)[0] as! BatteryLevelHUDView
  15. }
  16. private lazy var numberFormatter: NumberFormatter = {
  17. let formatter = NumberFormatter()
  18. formatter.numberStyle = .percent
  19. return formatter
  20. }()
  21. public var batteryLevel: Double? {
  22. didSet {
  23. if let value = batteryLevel, let level = numberFormatter.string(from: value) {
  24. caption.text = level
  25. accessibilityValue = level
  26. } else {
  27. caption.text = nil
  28. accessibilityValue = nil
  29. }
  30. level = batteryLevel
  31. }
  32. }
  33. }