1.C++获取:
方法一:
auto myLayout = cocostudio::GUIReader::getInstance()->widgetFromJsonFile("testUI.json");
this->addChild(myLayout);
Button* loginBtn = (Button*)(myLayout->getChildByName("login"));
方法二:
Button* testBtn = (Button*)(Helper::seekWidgetByName(myLayout,"TestButton"));
- lua获取
方法一:
local myLayout = ccs.GUIReader:getInstance():widgetFromJsonFile("testUI.json.json")
self:addChild(myLayout)
local loginBtn = myLayout->getChildByName("login")
(不知道这样对不对,日后再来验证)
方法二:
local testBtn = ccui.Helper:seekWidgetByName(myLayout,"TestButton")
区别:
方法一: getChildByName是按照数结构进行查找,只能查找父对象下面的子对象,而不能跨级查找。
方法二: Helper::seekWidgetByName可以在整个对象结构中直接查找。
(有时候我们需要获取某个节点的子节点的子节点、甚至子节点的子节点的子节点、甚至…
这样的需求是很常见的,而一层一层去get未免太繁琐。这时方法二是一个很好的选择)