AutoCompleteTextField alternatives and similar libraries
Based on the "TextField & TextView" category.
Alternatively, view AutoCompleteTextField alternatives based on common mentions on social networks and blogs.
-
JVFloatLabeledTextField
UITextField subclass with floating labels - inspired by Matt D. Smith's design: http://dribbble.com/shots/1254439--GIF-Mobile-Form-Interaction?list=users -
PYSearch
๐ An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad) . -
SkyFloatingLabelTextField
A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift. -
Reel Search
:octocat: ๐ RAMReel is a UI controller that allows you to choose options from a list. Swift UI library made by @Ramotion -
NextGrowingTextView
๐ The next in the generations of 'growing textviews' optimized for iOS 8 and above. -
InputBarAccessoryView
A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments -
RPFloatingPlaceholders
UITextField and UITextView subclasses with placeholders that change into floating labels when the fields are populated with text. -
KMPlaceholderTextView
A UITextView subclass that adds support for multiline placeholder written in Swift. -
InstantSearch iOS
โก๏ธ A library of widgets and helpers to build instant-search applications on iOS. -
UITextField-Navigation
๐โโ๏ธ UITextField-Navigation makes it easier to navigate between UITextFields and UITextViews -
PasswordTextField
A custom TextField with a switchable icon which shows or hides the password and enforce good password policies -
CocoaTextField
Apple TextField created according to the Material.IO guidelines of 2019. Featured at Medium. -
ARAutocompleteTextView
ARAutocompleteTextView is a subclass of UITextView that automatically displays text suggestions in real-time. This is perfect for automatically suggesting the domain as a user types an email address, #hashtag or @alexruperez. -
CHIOTPField
CHIOTPField is a set of textfields that can be used for One-time passwords, SMS codes, PIN codes, etc. Mady by @ChiliLabs - https://chililabs.io -
AwesomeTextField
Awesome TextField is a nice and simple libriary for iOS and Mac OSX. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. -
Streamoji
DISCONTINUED. :godmode: Custom emoji rendering library for iOS apps with support for GIF & still images - plug-in extension for UITextView - performance, cache โ - Made with ๐ by @GetStream -
CBPinEntryView
A customisable view for entering arbitrary length pins, codes or passwords in iOS. Supports iOS 12 one time codes. -
MBAutoGrowingTextView
DISCONTINUED. An auto-layout base UITextView subclass which automatically grows with user input and can be constrained by maximal and minimal height -
MVAutocompletePlaceSearchTextField
iOS - Subclass of UITextField to achieve autocompletion for Place Search like Google Places, Uber and Much more apps having maps. -
RSFloatInputView
A Float Input View with smooth animation and supporting icon and seperator written with Swift -
NxEnabled
DISCONTINUED. Library that allows you binding `enabled` property of button with textable elements (TextView, TextField)
WorkOS - The modern identity platform for B2B SaaS
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of AutoCompleteTextField or a related project?
README
AutoCompleteTextField
Features
- [x] Provides a subclass of UITextField that has suggestion from input
- [x] Has autocomplete input feature
- [x] Data suggestion are provided by users
- [x] Enable store smart domains
- [x] Optimized and light weight
Requirements
- iOS 10.0+
- Xcode 11+
- Swift 5+
Installation
CocoaPods
You can use CocoaPods to install AutoCompleteTextField
by adding it to your Podfile
:
pod "AutoCompleteTextField"
Carthage
Create a Cartfile
that lists the framework and run carthage bootstrap
. Follow the instructions to add $(SRCROOT)/Carthage/Build/iOS/AutoCompleteTextField.framework
to an iOS project.
github "nferocious76/AutoCompleteTextField"
Manually
- Download and drop
/Pod/Classes
folder in your project. - Congratulations!
Usage
// Initializing `AutoCompleteTextField`
let myTextField = AutoCompleteTextField(frame: CGRect(x: 20, y: 64, width: view.frame.width - 40, height: 40), dataSource: `YourDataSource`, delegate: `YourDelegate`)
// Setting `dataSource`, it can be set from the XCode IB like `TextFieldDelegate` in which will appear as `actfDataSource`
myTextField.dataSource = `YourDataSource`
// Setting delimiter (optional). If set, it will only look for suggestion after the delimiter
myTextField.setDelimiter("@")
// Show `AutoCompleteButton`
myTextField.showAutoCompleteButtonWithImage(UIImage(named: "checked"), viewMode: .whileEditing)
// Providing data source to get the suggestion from inputs
func autoCompleteTextFieldDataSource(_ autoCompleteTextField: AutoCompleteTextField) -> [ACTFWeightedDomain] {
return weightedDomains // AutoCompleteTextField.domainNames // [ACTFDomain(text: "gmail.com", weight: 0), ACTFDomain(text: "hotmail.com", weight: 0), ACTFDomain(text: "domain.net", weight: 0)]
}
ACTFDomain
ACTFDomain
is struct type that conforms to the Codable
. User can store and retrieve smart domains.
One example may be 'gmail.com' and 'georgetown.edu'. Users are more likely to have a 'gmail.com' account so we would want that to show up before 'georgetown.edu', even though that is out of alphabetical order.
ACTFDomain
is sorted based on its usage.
This is just one example. Manually providing a suggestion gives more flexibility and does not force the usage of an array of strings.
// Usage
let g1 = ACTFDomain(text: "gmail.com", weight: 10)
let g2 = ACTFDomain(text: "googlemail.com", weight: 5)
let g3 = ACTFDomain(text: "google.com", weight: 4)
let g4 = ACTFDomain(text: "georgetown.edu", weight: 1)
let weightedDomains = [g1, g2, g3, g4] // [ACTFDomain]
// Storing
// store single
if g1.store(withKey: "Domain") {
print("Store success")
}
// store multiple
if ACTFDomain.store(domains: weightedDomains, withKey: "Domains") {
print("Store success")
}
// Retrieving
// retrieved single
if let domain = ACTFDomain.domain(forKey: "Domain") {
print("Retrieved: ", domain)
}
// retrieved multiple
if let domains = ACTFDomain.domains(forKey: "Domains") {
print("Retrieved: ", domains)
}
Contribute
We would love for you to contribute to AutoCompleteTextField
. See the LICENSE file for more info.
Author
Neil Francis Ramirez Hipona, [email protected]
About
This project was inpired by 'HTAutocompleteTextField' an Objc-C framework of a similar feature.
License
AutoCompleteTextField is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the AutoCompleteTextField README section above
are relevant to that project's source code only.