根据浮生梦老师前端课程内容,你代码中的问题在于 `GUI:ui_delegate(parent)` 返回的是一个UI委托表(包含所有子控件),而不是一个单一的控件对象。
`GUI:ui_delegate()` 函数返回的是一个table,里面包含了界面中所有控件的引用,比如 `t.Button_1`、`t.Panel_1` 等。你不能直接对这个table使用 `GUI:setVisible()`。
正确的方法是:
```lua
local parent = GUI:Win_FindParent(108)
local t = GUI:ui_delegate(parent)
-- 方法1:隐藏整个界面(推荐)
GUI:setVisible(parent, false)
-- 方法2:隐藏界面中的某个具体按钮
-- 假设按钮的ID是"Button_1"
GUI:setVisible(t.Button_1, false)
-- 方法3:遍历界面中的所有控件并隐藏
for key, widget in pairs(t) do
if GUI:Win_IsNull(widget) == false then
GUI:setVisible(widget, false)
end
end
```
如果你只是想隐藏整个界面,直接对父节点使用 `GUI:setVisible(parent, false)` 是最简单有效的方法。