Native Text Input for Flutter

A text input widget built using the native UITextView on iOS (this package only supports iOS for now).

Installation

Follow the instructions from https://pub.dev/packages/flutter_native_text_input/install

Why you should use this

Many iOS users are used to the subtle features provided by the native UITextView throughout iOS. Even though Flutter provides a lot of useful widgets, many Flutter developers will notice that TextField or CupertinoTextField provided by Flutter are not on par with their native counterpart.

The above shows just one of the missing text editing features in Flutter's TextField, when comparing to the native UITextView. Features like these are especially important if you're building an app that involves a lot of text composition (messaging, editing document, and so on).

To address this, this package simply wraps the native UITextView as a Flutter widget.

Hope you find it useful and happy coding! 🎉🎉🎉

Plugin API

NameTypeDescriptionDefault
controllerTextEditingControllerControlling the text being edited (https://api.flutter.dev/flutter/material/TextField/controller.html)null
placeholderStringPlaceholder text when text entry is empty (https://api.flutter.dev/flutter/cupertino/CupertinoTextField/placeholder.html)null
textContentTypeTextContentTypeTo identify the semantic meaning expected for a text-entry area (https://developer.apple.com/documentation/uikit/uitextcontenttype)null
keyboardTypeKeyboardTypeType of keyboard to display for a given text-based view (https://developer.apple.com/documentation/uikit/uikeyboardtype)KeyboardType.defaultType
onChangedValueChanged<String>Called when the user initiates a change to text entry (https://api.flutter.dev/flutter/material/TextField/onChanged.html)null
onSubmittedValueChanged<String>Called when the user indicates that they are done editing the text in the field (https://api.flutter.dev/flutter/material/TextField/onSubmitted.html)null
focusNodeFocusNodeDefines the keyboard focus for this widget (https://api.flutter.dev/flutter/material/TextField/focusNode.html)null
textAlignTextAlignHow the text should be aligned horizontally (https://api.flutter.dev/flutter/material/TextField/textAlign.html)TextAlign.start
minLinesintMinimum number of lines of text input widget1
maxLinesintMaximum number of lines of text input body, 0 for no limit1

More examples

You may find more usage examples here.

License

This project is licensed under the MIT License.

Libraries

flutter_native_text_input