Type Function
Library native.*
Return value TextBox
Revision Current Public Release (2016.2830)
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 function inputListener( event )
    if event.phase == "began" then
        -- user begins editing textBox
        print( event.text )

    elseif event.phase == "ended" then
        -- do something with textBox text
        print( )

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

local textBox = native.newTextBox( 200, 200, 280, 140 )
textBox.text = "This is line 1.\nAnd this is line2"
textBox.isEditable = true
textBox:addEventListener( "userInput", inputListener )