UI 返回值
UI 的返回值包含两部分,一是确定按钮和取消按钮的返回值;二是控件返回值:除了标签 Label、浏览器 Web、分割线 Line,其余种控件均存在 string 格式的返回值。
UI 返回值的调用方法,与使用何种格式构建界面有关。
table 格式
如果使用 table 构建界面,有返回值的控件如单选组合、多选组合、单行输入框等可直接指定控件 ID,相当于指定变量名称,直接将控件返回值与 ID 进行对比即可。
注意控件 ID 不能与脚本变量或者 Lua 语法关键字重复。
json 格式
如果使用 json 构建界面,需要按照定义时的顺序依次返回给 input_1, input_2, input_3, ...。
单选框返回当前选中项的编号(从 0 开始);
编辑框返回其中的内容;
多选框返回当前选中项的编号(从 0 开始),多个选项以 @ 分割。如:3@5 表示多选框组编号为 3 和 5 的两个选项已被选中。
别忘记,该函数的第一个返回值为 number ret,用户单击右下角的 “ 确认 ” 时返回 1,单击左下角的 “ 取消 ” 时返回 0。
通过设置全局属性 rettype
可指定返回值类型适应不同的需求,具体用法参看全局属性介绍部分(此属性需引擎版本 iOS v2.2.6,Android v1.2.7 以上支持)。
注意事项
- 运行以下示例如果 rettype 参数为 table 时,查看 config 文件夹下的 showuiTest.txt 文件内容为 {"RadioGroup_rg":"3","RadioGroup_sui":"1"},表示为单选框中 id 为 rg 的控件选择第 4 个选项(大学),id 为 sui 的控件选择了第 2 个选项(30岁),格式为{"控件名类型_控件ID":"选中编号/文字内容"}
- 如果 rettype 参数为 array 时,则查看 config 文件夹下的 showuiTest.txt 文件内容为 {"1_1":"3","2_1":"1"},为第一页的第一个控件选择第 4 个选项(大学),第二页第一个控件选择了第 2 个选项(30岁),格式为 {"控件所在的页数_控件在本页排序的数量":"选中编号/文字内容"}
local ts = require("ts")
local cjson = ts.json
w,h = getScreenSize();
MyTable = {
["style"] = "default",
["rettype"] = "table", -- table 模式
--["rettype"] = "array", -- 数组模式
["config"] = "showuiTest.txt",
["pagetype"]= "multi",
["title"] = "触动精灵脚本 UI 演示",
["titles"] = "第一页,第二页,第三页",
pages =
{
{
{
["type"] = "RadioGroup",
["id"] = "rg",
["list"] = "小学,初中,高中,大学",
["select"] = "3",
},
},
{
{
["type"] = "RadioGroup",
["id"] = "sui",
["list"] = "1岁,30岁,50岁,70岁",
["select"] = "1",
},
}
}
}
local MyJsonString = cjson.encode(MyTable)
UIret,values = showUI(MyJsonString)