类型 函数 库 native.* 返回值 TextBox 修订 版本 2024.3703 关键词 文本框, 文本输入, native 文本 另请参阅 native.newTextField() native.setKeyboardFocus() userInput
创建一个可滚动的、**多行** TextBox 对象用于文本输入。对于
默认情况下,文本框的内容不可编辑。将 object.isEditable 属性设置为 true
以使内容可编辑。
Native 文本框可以监听 userInput 事件(参见示例)。
使用 "\n"
开始新行文本。如果文本过长,它将自动换行到下一行。
Native 文本框不属于 OpenGL 画布,也不遵循显示对象层次结构,因此它们将始终显示在普通显示对象的前面,包括图像、文本和矢量对象。但是,native 文本框可以“插入” (object:insert()) 到 Corona 显示组 中,它们将与该组一起移动。
Corona 模拟器中 native 控件的呈现只能近似于实际设备。始终在设备上进行测试,并假设设备上的行为/外观是正确的。
要从显示中移除 native 文本框,请使用 object:removeSelf()
。
native.setKeyboardFocus() API 用于显示和隐藏用于文本输入的键盘(仅适用于设备和 Xcode 模拟器)。
在 Android 上,由于 Corona 在多个线程上运行,在设置 TextBox 的 .text
值后立即获取它将不会返回正确的值。此操作应在短暂的 计时器 之后或下一个时间步期间执行。
native.newTextBox( x, y, width, height )
数字. 对应于文本框中心的 **x** 坐标。
数字. 对应于文本框中心的 **y** 坐标。
数字. 文本框的宽度。
数字. 文本框的高度。
有关函数和属性列表,请参阅 TextBox 文档。
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( event.target.text ) elseif ( event.phase == "editing" ) then print( event.newCharacters ) print( event.oldText ) print( event.startPosition ) print( event.text ) end end -- 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 )