Home

Awesome

AutocompleteField

CocoaPods Compatible Platform

Subclass of UITextField that shows inline suggestions while typing.


AutocompleteField

Requirements

Installation

CocoaPods

Add the following to your Podfile:

target 'MyApp' do
  pod 'AutocompleteField', '~> 2.0'
end

Swift Package Manager

See Apple docs for more information.

Manually

Usage

You use this textfield in the same way as the regular UITextField, through Storyboards or programmatically.

Basic

import AutocompleteField

...

let textfield = AutocompleteField(frame: CGRect(x: 20, y: 20, width: 200, height: 40))
textfield.placeholder = "Name"

textfield.suggestions = [
  "George Washington",
  "Thomas Jefferson",
  "John Adams",
  "Theodore Roosevelt",
  "John F. Kennedy",
  "George W. Bush",
]

self.view.addSubview(textfield)

Delimiter

The delimiter can be used to only suggest an autocompletion after a specific character is found in the string. In this example we look for the @ character, and then provide suggestions for email providers.

import AutocompleteField

...

// email textfield autocompleting email providers
let textfield = AutocompleteField(frame: CGRect(x: 20, y: 20, width: 200, height: 40))
textfield.placeholder = "Email"
textfield.keyboardType = .emailAddress

textfield.suggestions = [
  "gmail.com",
  "icloud.com",
  "outlook.com",
]

// add the delimiter
textfield.delimiter = "@"

self.view.addSubview(textfield)

API

PropertyTypeDescription
suggestionColorUIColorThe color of the suggestion. Defaults to the default placeholder color.
suggestionStringThe current suggestion shown. Read only.
suggestions[String]Array of suggestions.
suggestionTypeSuggestionTypeThe type of suggestion that should be used. .Word will only hint the the next word in the suggestion and .Sentence will show the whole suggestion. Defaults to .Sentence.
pixelCorrectionsCGPointMove the suggestion label up/down left/right. Use this to correct any differences if the suggestion doesn't match the input value for some reason.
horizontalPaddingCGFloatAdd padding to your textfield. Automatically set when using a borderStyle that has padding.
delimiterStringAdd a delimiter to only show a suggestion if there's more than one occurance of the delimiter. Perfect for autocompleting email providers.

Demo

Check out the example project.

License

AutocompleteField is provided under the MIT License. See LICENSE for details.