iOS 8 - How to hide suggestion list above keyboard?

IosSwiftIos8Xcode6

Ios Problem Overview


Is there any way to hide suggestions list above keyboard? I couldn't find any solution in documentation.

Ios Solutions


Solution 1 - Ios

Yes there is. You have to disable autocorrection on the text field/text/any other class that conforms to the UITextInputTraits protocol, which can be done through the autocorrectionType property.

textField.autocorrectionType = .no

Additionally, if you're interested, the following are the only UIKeyboardTypes that don't have suggestions by default.

  • DecimalPad
  • NumberPad
  • PhonePad

Solution 2 - Ios

Swift 4.0 +:

textfield.autocorrectionType = .no

To hide the bar (predictive bar), use this code:

if #available(iOS 9.0, *) {
        var item = textFeild.inputAssistantItem
        item.leadingBarButtonGroups = [];
        item.trailingBarButtonGroups = [];
    }

For disabling copy-and-paste, use this function:

override func selectionRects(for range: UITextRange) -> [Any] {
    return []
}

override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
    let menu = UIMenuController.shared
    menu.isMenuVisible = false
    return false
}

Solution 3 - Ios

(Edited in June 2020: still true for Xcode 11.3.1)


In more recent versions of Xcode storyboards, you can also set the keyboard traits in the storyboard (right panel, the attributes inspector, then look for Text Input Traits and select the traits you want, at least in Xcode 9). In particular, select "No" for the Correction trait, as shown in the example below. Interestingly, this is for content type Username, and the Default selection for the Correction trait was to turn on Correction, unlike a content type like Password, for example.

Example of setting this in the storyboard

Solution 4 - Ios

iOS 15 (maybe ealier)

The answers above did not work: To remove the Suggestion list (predictive - spell checking) Need to make:

textField.spellCheckingType = .no

That's what worked for me!

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKhawarView Question on Stackoverflow
Solution 1 - IosMick MacCallumView Answer on Stackoverflow
Solution 2 - IosKiran P NairView Answer on Stackoverflow
Solution 3 - Iosauspicious99View Answer on Stackoverflow
Solution 4 - IosJonathan HocheView Answer on Stackoverflow