问题描述:在项目中需要在一开始将一个UGUI隐藏,之后在特定的时候再显示。

本来想的办法是在需要显示的时候调用GameObject.Find()找到这个UI并设置active,

但发现找出来的为null,经查阅资料发现GameObject.Find()只能find没有被隐藏的游戏对象,

而我们的UI对象一开始就隐藏了,所以使用GameObject.Find()找到的为null。

解决办法:

使用GameObject.Find()找这个UI的父亲或随便祖先(只要他的上级是非隐藏的就可以了),

然后再对祖先使用transform.Find()方法即可找到这个隐藏的UI,然后在通过SetActivet(true)实现