Currency text field formatter available for UIKit and SwiftUI 💶✏️
CurrencyText provides lightweight libraries for formating text field text as currency, available for both UIKit
and SwiftUI
.
Its main core, the CurrencyFormatter
class, can also be used a part from text fields to format any value that can be monetary represented.
If you need to present currency formatted text or allow users to input currency data, CurrencyText
is going to help you do it in a readable and configurable matter.
For details on how to use CurrencyText
libraries please refer to the docs.
To install it using Swift Package Manager, just add this repository through Xcode built-in Swift Packages
, or by manually adding it to your Package.swift
Package’s dependencies:
dependencies: [
.package(
url: "https://github.com/marinofelipe/CurrencyText.git",
.upToNextMinor(from: .init(2, 1, 0)
)
]
.target(
name: "MyTarget",
dependencies: [
// Can be imported to consume the formatter in insolation
.target(name: "CurrencyFormatter"),
// UIKit library - Provide access to "CurrencyFormatter" and "CurrencyUITextFieldDelegate" targets
.target(name: "CurrencyText"),
// SwiftUI library - Provide access to "CurrencyFormatter" and "CurrencyTextField" targets
.target(name: "CurrencyTextSwiftUI")
],
...
)
To integrate CurrencyText
using CocoaPods, specify it, one or more of its sub-specs in your Podfile
:
# Podfile
use_frameworks!
target 'YOUR_TARGET_NAME' do
pod 'CurrencyText'
# sub-specs
# pod 'CurrencyText/CurrencyFormatter'
# pod 'CurrencyText/CurrencyUITextField'
# pod 'CurrencyText/CurrencyTextField'
end
Contributions and feedbacks are always welcome. Please feel free to fork, follow, open issues and pull requests. The issues, milestones, and what we are currently working on can be seen in the main Project.
To @malcommac for his awesome work with SwiftRichString and SwiftDate, that inspired me when creating this project.
Also to myanalysis for contributing so much by finding issues and giving nice suggestions.
CurrencyText is released under the MIT license. See LICENSE for details.
Felipe Marino: [email protected], @_marinofelipe