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)
Copyright 北京帮你玩科技有限公司 2023 all right reserved,powered by Gitbook该文章修订时间: 2024-03-06 17:50:18

results matching ""

    No results matching ""