---
title: UITextInputContext
framework: uikit
role: symbol
role_heading: Class
path: uikit/uitextinputcontext
---

# UITextInputContext

An object that reports the type of input your app receives.

## Declaration

```swift
class UITextInputContext
```

## Overview

Overview Use the shared UITextInputContext object to get information about the type of input your app receives. UIKit apps can receive text input from sources other than the software keyboard, including from dictation, Apple Pencil, and a connected keyboard. Use information about the likely input sources to adjust your UI to accommodate that input. For example, you might increase the size of text fields to accommodate handwriting input from Apple Pencil.

## Topics

### Getting the input context object

- [current()](uikit/uitextinputcontext/current().md)

### Getting the expected input type

- [isDictationInputExpected](uikit/uitextinputcontext/isdictationinputexpected.md)
- [isHardwareKeyboardInputExpected](uikit/uitextinputcontext/ishardwarekeyboardinputexpected.md)
- [isPencilInputExpected](uikit/uitextinputcontext/ispencilinputexpected.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Text input

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