This is a iOS auto complete for iOS UITextField written all in Swift.
You can install it using CocoaPods
pod 'CCAutocomplete'
The ViewController containing the UITextField should conform to AutocompleteDelegate
protocol.
The protocol contains following methods:
func autoCompleteTextField() -> UITextField
: Returns UITextField we want to apply autocomplete forfunc autoCompleteThreshold(textField: UITextField) -> Int
: Returns minimum number of characters to start showing autocompletefunc autoCompleteItemsForSearchTerm(term: String) -> [AutocompletableOption]
: Returns array of objects that conform toAutocompletableOption
to be shown in the list of autocompletefunc autoCompleteHeight() -> CGFloat
: Maximum height which shows autocomplete itemsfunc didSelectItem(item: AutocompletableOption) -> Void
: Is getting called when we tapped on the autocomplete item
func nibForAutoCompleteCell() -> UINib
: Create a nib file containing custom UITableViewCell and return it from this method to customize autocomplete cellfunc heightForCells() -> CGFloat
: height of custom autocomplete cellsfunc getCellDataAssigner() -> ((UITableViewCell, AutocompletableOption) -> Void)
: returns a method that instruct Autocomplete how to assign an object that conforms toAutocompletableOption
to a subclass of aUITableViewCell
func animationForInsertion() -> UITableView.RowAnimation
: returns animation that is used when inserting new items into Autocompletefunc animationForDeletion() -> UITableView.RowAnimation
: returns animation that is used when removing existing items from Autocomplete
A protocol that uses for datasource of Autocomplete UITableViewCells. If you want to customize autocomplete cell to have more data items, you need to create an object that conforms to this.
There is a plan to add support multiple sections for Autocomplete.