iOS Textfield Autocomplete
This is a iOS auto complete for iOS UITextField written all in Swift.
Installation
You can install it using CocoaPods
pod 'CCAutocomplete'
Usage
AutocompleteDelegate
The ViewController containing the UITextField should conform to AutocompleteDelegate
protocol.
The protocol contains following methods:
Required methods
-
func autoCompleteTextField() -> UITextField
: Returns UITextField we want to apply autocomplete for -
func autoCompleteThreshold(textField: UITextField) -> Int
: Returns minimum number of characters to start showing autocomplete -
func autoCompleteItemsForSearchTerm(term: String) -> [AutocompletableOption]
: Returns array of objects that conform toAutocompletableOption
to be shown in the list of autocomplete -
func autoCompleteHeight() -> CGFloat
: Maximum height which shows autocomplete items -
func didSelectItem(item: AutocompletableOption) -> Void
: Is getting called when we tapped on the autocomplete item
Optional methods:
-
func nibForAutoCompleteCell() -> UINib
: Create a nib file containing custom UITableViewCell and return it from this method to customize autocomplete cell -
func heightForCells() -> CGFloat
: height of custom autocomplete cells -
func getCellDataAssigner() -> ((UITableViewCell, AutocompletableOption) -> Void)
: returns a method that instruct Autocomplete how to assign an object that conforms toAutocompletableOption
to a subclass of aUITableViewCell
AutocompletableOption
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.