参考文章:http://blog.csdn.net/u011185231/article/details/49591383
todo:active和enable的差别?
核心API:
Component.GetComponentInChildren<Transform>(),应该是递归获取所有的child,激活的
GetComponentsInChildren<Transform>(true),激活和未激活的都get
思路:获取Transform,然后在获取上面的GameObject。然后对child进行操作。
//img_bottomPanel_loading是Image //GetComponentInChildren获取第一个child Transform firstChild = img_bottomPanel_loading.GetComponentInChildren(); string name = firstChild.gameObject.name; Debug.Log ("firstChild:" + name); //获取所有的children, Transform[] children = img_bottomPanel_loading.GetComponentsInChildren (); for (int i = 0; i < children.Length; i++) { string nameTemp = children [i].gameObject.name; children [i].gameObject.SetActive (false); //hide Debug.Log ("nameTemp:" + nameTemp); }
private void setBottomOperatePanelHide(bool hide){ img_bottomPanel_operate.enabled = !hide; Transform[] children = img_bottomPanel_operate.GetComponentsInChildren(true); foreach(Transform tr in children){ tr.gameObject.SetActive (hide); } }