Widget* Helper::seekWidgetByRelativeName(Widget *root, const char *name) { if (!root) { return nullptr; } const auto& arrayRootChildren = root->getChildren(); for (auto& subWidget : arrayRootChildren) { Widget* child = static_cast<Widget*>(subWidget); RelativeLayoutParameter* layoutParameter = dynamic_cast<RelativeLayoutParameter*>(child->getLayoutParameter(LAYOUT_PARAMETER_RELATIVE)); if (layoutParameter && strcmp(layoutParameter->getRelativeName(), name) == 0) { return child; } } return nullptr; }
UIWidget* UIHelper::seekWidgetByRelativeName(UIWidget *root, const char *name) { if (!root) { return NULL; } ccArray* arrayRootChildren = root->getChildren()->data; int length = arrayRootChildren->num; for (int i=0;i<length;i++) { UIWidget* child = (UIWidget*)(arrayRootChildren->arr[i]); RelativeLayoutParameter* layoutParameter = dynamic_cast<RelativeLayoutParameter*>(child->getLayoutParameter()); if (layoutParameter && strcmp(layoutParameter->getRelativeName(), name) == 0) { return child; } } return NULL; }