TTMSFMXNativeUITextView
Usage
This component is based on the native iOS UITextView
component and adds rich text editing
capabilities. For more information about properties, methods and events that are not listed hereplease refer to the TMSFMXNativeUITextView
component.
Published Properties
Property name | Description |
---|---|
ContextMenuOptions | When interacting with the TextView, a context menu pops up when selecting text. The context menus consists of various options such as cut, copy, and paste, select and select all editing capabilities. These menu items can be optionally disabled through this property; |
DataDetectorTypes | This property can be used to specify the types of data (phone numbers, http links …) that should be automatically converted to clickable URLs in the text view. When clicked, the text view opens the application responsible for handling the URL type and passes it the URL. |
Public Properties
Property name | Description |
---|---|
Selection: TTMSFMXNativeRichTextLibRange | Gets and Sets the selection on the TextView.Selection is a record of text character position and length of selection in number of characters. |
DataText: string (supported from iOS 6) | Gets and Sets a compatible Archived XML String that can be used to persist the rich text contents of the TextView. |
Public Methods
Each getter and setter of a specific attribute has optional parameters to apply the attribute value to text at a specific position and length inside the TextView. If the parameters are not specified, the value is applied to the selected text. Below is an example of setting a bold text:
//apply bold to the selected text
TMSFMXNativeUIRichTextView1.SetBold(True);
//apply bold to the text at position 5 with a length of 3
TMSFMXNativeUIRichTextView1.SetBold(True, 5, 3);
Important notice
Not all functionality that is listed below is supported on iOS versions earlier than iOS 7. Functionality that is only supported on iOS 7 and later is marked.
Property name | Description |
---|---|
AddBitmap(AValue: TBitmap; ALineHeight: Integer = -1; ALocation: Integer = -1); | Inserts a bitmap in the TextView. By default, the lineheight is adapted to the bitmap height but can be overridden by setting ALineHeight parameter > -1 . Also, by default, the bitmap is inserted at selection, unless the ALocation parameter is different than -1 and sets the insert character position. |
AddBitmapFromFile(AValue: String; ALineHeight: integer –1; ALocation: Integer = -1); | Inserts a bitmap from file in the TextView. By default, the lineheight is adapted to the bitmap height but can be overridden by setting ALineHeight parameter > -1 . Also, by default, the bitmap is inserted at selection, unless the ALocation parameter is different than -1 and sets the insert character position. |
CanRedo | Returns a Boolean whether the TextView can perform a Redo action. |
CanUndo | Returns a Boolean whether the TextView can perform an Undo action. |
Clear | Clears the text inside the TextView. |
Copy | Copies the selected text on the clipboard. |
Cut | Cuts the selected text on the clipboard. |
CutAsPlainText | Cuts the selected text as plain text. |
GetBackgroundColor / SetBackgroundColor | Gets or Sets the text background color. |
GetBaselineOffset / SetBaselineOffset (iOS 7 and later only) |
Gets or Sets the text baseline offset. The baseline offset is identical to subscript and superscript. |
GetBold / SetBold | Gets or Sets the text bold. |
GetFont / SetFont | Gets or Sets the text font name and size. |
GetFontSize / SetFontSize | Gets or Sets the text font size. |
GetForegroundColor / SetForegroundColor | Gets or Sets the text color. |
GetItalic / SetItalic | Gets or Sets the text italic. |
GetParagraphStyle / SetParagraphStyle | Gets or Sets the text paragraph style. |
GetPlainText / GetPlainTextRange | Gets the plain text from the TextView, optionally specified by a text range. |
GetRichText / GetRichTextRange Depending on the data type (see Import and Export chapter) |
Gets the rich text from the TextView, optionally specified by a range. |
GetStrikethrough / SetStrikethrough | Gets or Sets the text strikethrough style. The style can be a combination of a line style, pattern and / or grouped by word. The style is the same type used in the GetUnderline / SetUnderline functionality. |
GetStrikethroughColor / SetStrikethroughColor (iOS 7 and later only) |
Gets or Sets the text strikethrough color. |
GetStrikethrough / SetStrikethrough | Gets or Sets the text strikethrough style. The style can be a combination of a line style, pattern and / or grouped by word. The style is the same type used in the GetUnderline / SetUnderline functionality. |
GetStrikethroughColor / SetStrikethroughColor (iOS 7 and later only) |
Gets or Sets the text strikethrough color. |
GetStrokeColor / SetStrokeColor | Gets or Sets the text stroke color. |
GetStrokeWidth / SetStrokeWidth | Gets or Sets the text stroke width. |
GetSubscript / SetSubscript (iOS 7 and later only) |
Gets or Sets the text subscript value offset. Can be combined with SetFontSize for a smaller font. |
GetSuperscript / SetSuperscript (iOS 7 and later only) |
Gets or Sets the text superscript value offset. Can be combined with SetFontSize for a smaller font. |
GetTextLength | Returns the length of the text of a TextView. |
GetUnderline / SetUnderline | Gets or Sets the text underline style. The style can be a combination of a line style, pattern and / or grouped by word. |
GetUnderlineColor / SetUnderlineColor (iOS 7 and later only) |
Gets or Sets the text underline color. |
GetURL / SetURL (iOS 7 and later only) |
Gets or Sets the text URL. The URL is only clickable when the TextView Editable property is set to false. |
GetValues | Gets all values applied on the text. |
Import / ExportData Depending on the data type (see Import and Export chapter) |
Functionality to import / export the rich text from / to a file. |
ImportFromStream / ExportToStream Depending on the data type (see Import and Export chapter) |
Functionality to import / export the rich text from / to a memory stream. |
InitializeValues | Used to initialize the record with default values before passing it to the SetValues method. |
Paste | Pastes the text from the clipboard. |
PasteAsPlainText | Pastes the text from the clipboard as plain text. |
Redo | Redoes the previous action (only available for plain text). |
Select | Selects a specific range of text. |
SelectAll | Selects all the text in the TextView. |
SetRichText Depending on the data type (see Import and Export chapter) |
Sets the rich text from a TextView, optionally specified by a range. |
ToggleBold | Toggles bold on the selected text. |
ToggleItalic | Toggles italic on the selected text. |
ToggleUnderline | Toggles underline on the selected text. |
Undo | Undoes the last action (only available for plain text). |
Import and export of (rich) text
The TextView supports importing and exporting the rich text to a stream, to a file and to a string. Some of the import / export functionality has the capability of adding an additional parameter to export to a plain, RTF, RTFD or HTML formatted data. The values of this parameter are listed below and specify which data type is supported on which iOS version and if import / export are supported:
DataType | Supported iOS version | Import / Export |
---|---|---|
dtArchivedXMLDocumentType | iOS 6 and later | ![]() |
dtPlainTextDocumentType | iOS 7 and later only | ![]() |
dtRTFTextDocumentType | iOS 7 and later only | ![]() |
dtRTFDTextDocumentType | iOS 7 and later only | ![]() |
dtHTMLTextDocumentType | iOS 7 and later only | Export only |