DecimalTextFieldTableViewCell.swift 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //
  2. // DecimalTextFieldTableViewCell.swift
  3. // CarbKit
  4. //
  5. // Created by Nathan Racklyeft on 1/15/16.
  6. // Copyright © 2016 Nathan Racklyeft. All rights reserved.
  7. //
  8. import UIKit
  9. public class DecimalTextFieldTableViewCell: TextFieldTableViewCell {
  10. @IBOutlet weak var titleLabel: UILabel!
  11. var numberFormatter: NumberFormatter = {
  12. let formatter = NumberFormatter()
  13. formatter.numberStyle = .decimal
  14. return formatter
  15. }()
  16. public var number: NSNumber? {
  17. get {
  18. return numberFormatter.number(from: textField.text ?? "")
  19. }
  20. set {
  21. if let value = newValue {
  22. textField.text = numberFormatter.string(from: value)
  23. } else {
  24. textField.text = nil
  25. }
  26. }
  27. }
  28. // MARK: - UITextFieldDelegate
  29. public override func textFieldDidEndEditing(_ textField: UITextField) {
  30. if let number = number {
  31. textField.text = numberFormatter.string(from: number)
  32. } else {
  33. textField.text = nil
  34. }
  35. super.textFieldDidEndEditing(textField)
  36. }
  37. }