---
title: UITextInputTraits
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uitextinputtraits
---

# UITextInputTraits

A set of methods that defines features for keyboard input to a text object.

## Declaration

```swift
@MainActor protocol UITextInputTraits : NSObjectProtocol
```

## Mentioned in

Configuring a custom keyboard interface

## Overview

Overview For a custom text object to support keyboard input, it must adopt this protocol to interact properly with the text-input management system. The UITextField and UITextView classes automatically support this protocol.

## Topics

### Configuring the keyboard appearance

- [keyboardType](uikit/uitextinputtraits/keyboardtype.md)
- [UIKeyboardType](uikit/uikeyboardtype.md)
- [keyboardAppearance](uikit/uitextinputtraits/keyboardappearance.md)
- [UIKeyboardAppearance](uikit/uikeyboardappearance.md)
- [returnKeyType](uikit/uitextinputtraits/returnkeytype.md)
- [UIReturnKeyType](uikit/uireturnkeytype.md)
- [textContentType](uikit/uitextinputtraits/textcontenttype.md)
- [UITextContentType](uikit/uitextcontenttype.md)

### Managing the keyboard behavior

- [isSecureTextEntry](uikit/uitextinputtraits/issecuretextentry.md)
- [enablesReturnKeyAutomatically](uikit/uitextinputtraits/enablesreturnkeyautomatically.md)

### Managing spelling and autocorrection

- [autocapitalizationType](uikit/uitextinputtraits/autocapitalizationtype.md)
- [UITextAutocapitalizationType](uikit/uitextautocapitalizationtype.md)
- [autocorrectionType](uikit/uitextinputtraits/autocorrectiontype.md)
- [UITextAutocorrectionType](uikit/uitextautocorrectiontype.md)
- [spellCheckingType](uikit/uitextinputtraits/spellcheckingtype.md)
- [UITextSpellCheckingType](uikit/uitextspellcheckingtype.md)
- [inlinePredictionType](uikit/uitextinputtraits/inlinepredictiontype.md)
- [UITextInlinePredictionType](uikit/uitextinlinepredictiontype.md)

### Configuring the autoformatting behaviors

- [smartQuotesType](uikit/uitextinputtraits/smartquotestype.md)
- [UITextSmartQuotesType](uikit/uitextsmartquotestype.md)
- [smartDashesType](uikit/uitextinputtraits/smartdashestype.md)
- [UITextSmartDashesType](uikit/uitextsmartdashestype.md)
- [smartInsertDeleteType](uikit/uitextinputtraits/smartinsertdeletetype.md)
- [UITextSmartInsertDeleteType](uikit/uitextsmartinsertdeletetype.md)

### Configuring the writing tools experience

- [writingToolsBehavior](uikit/uitextinputtraits/writingtoolsbehavior.md)
- [UIWritingToolsBehavior](uikit/uiwritingtoolsbehavior.md)

### Configuring Smart Replies

- [conversationContext](uikit/uitextinputtraits/conversationcontext.md)

### Configuring Password AutoFill

- [Password AutoFill](security/password-autofill.md)
- [UITextInputPasswordRules](uikit/uitextinputpasswordrules.md)

### Configuring math expression completion

- [mathExpressionCompletionType](uikit/uitextinputtraits/mathexpressioncompletiontype.md)
- [UITextMathExpressionCompletionType](uikit/uitextmathexpressioncompletiontype.md)

### Instance Properties

- [allowedWritingToolsResultOptions](uikit/uitextinputtraits/allowedwritingtoolsresultoptions.md)
- [allowsNumberPadPopover](uikit/uitextinputtraits/allowsnumberpadpopover.md)
- [passwordRules](uikit/uitextinputtraits/passwordrules.md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Inherited By

- [UIKeyInput](uikit/uikeyinput.md)
- [UITextDocumentProxy](uikit/uitextdocumentproxy.md)
- [UITextDraggable](uikit/uitextdraggable.md)
- [UITextDroppable](uikit/uitextdroppable.md)
- [UITextInput](uikit/uitextinput.md)

### Conforming Types

- [UISearchBar](uikit/uisearchbar.md)
- [UISearchTextField](uikit/uisearchtextfield.md)
- [UITextField](uikit/uitextfield.md)
- [UITextView](uikit/uitextview.md)

## See Also

### Text input

- [UITextInput](uikit/uitextinput.md)
- [UITextInputDelegate](uikit/uitextinputdelegate.md)
- [UIKeyInput](uikit/uikeyinput.md)
- [UITextInputContext](uikit/uitextinputcontext.md)
- [UITextInputMode](uikit/uitextinputmode.md)
- [UITextInputAssistantItem](uikit/uitextinputassistantitem.md)
- [UIDictationPhrase](uikit/uidictationphrase.md)
