You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provides a subclass of UITextField that has suggestion from input
Has autocomplete input feature
Data suggestion are provided by users
Enable store smart domains
Optimized and light weight
Requirements
iOS 12.0+
Swift 5.x
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/Classesfolder in your project.
Congratulations!
Usage
// Initializing `AutoCompleteTextField`
letmyTextField=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)]
}
// optional delegate for checking what was suggested
func autoCompleteTextField(_ autoCompleteTextField:AutoCompleteTextField, didSuggestDomain domain:ACTFDomain){print("Suggested domain: \(domain.text) - weight: \(domain.weight)")}
ACTFDomain
ACTFDomain is class 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 with auto storing flag that is default to true.
This is just one example. Manually providing a suggestion gives more flexibility and does not force the usage of an array of strings.