Type Function
Library native.*
Return value TextBox
Revision Current Public Release (2016.2949)
Keywords text box, text input, native text
See also native.newTextField()
userInput events


Creates a scrollable, multi-line text box for text input. For single-line text input, see native.newTextField().

By default, the content of text boxes is not editable. Set the object.isEditable property to true to make the content editable.

Native text boxes can listen for userInput events (see example).



native.newTextBox( centerX, centerY, width, height )
centerX, centerY (required)

Numbers. The x and y coordinates that correspond to the center of the text box.

width, height (required)

Numbers. Width and height (size) of the text box.

Functions and Properties

See the TextBox documentation for a list of functions and properties.


local defaultBox

local function textListener( event )

    if ( event.phase == "began" ) then
        -- User begins editing "defaultBox"

    elseif ( event.phase == "ended" or event.phase == "submitted" ) then
        -- Output resulting text from "defaultBox"
        print( )

    elseif ( event.phase == "editing" ) then
        print( event.newCharacters )
        print( event.oldText )
        print( event.startPosition )
        print( event.text )

-- Create text box
defaultBox = native.newTextBox( 200, 200, 280, 140 )
defaultBox.text = "This is line 1.\nAnd this is line2"
defaultBox.isEditable = true
defaultBox:addEventListener( "userInput", textListener )