提前拖到场景中的ui是正常显示的,运行状态下也可以显示
但是运行游戏时,在已经放了炮台的地方再次点击,代码倒是正常运行了,但是ui完全不显示,数据也没有缺失,也没有error
debug能看到代码正常执行
 /**显示升级ui,升级按钮是否需要禁用*/
    public void showUpgradeUI(Vector3 pos, bool isdisableUpgrade = false) {
        Debug.Log("显示升级");
        StopCoroutine("hideUpgradeUI");
        UpgradeCavans.SetActive(false);
        UpgradeCavans.SetActive(true);
        UpgradeCavans.transform.position = new Vector3(pos.x, 3, pos.z);
        UpgradeButton.interactable = !isdisableUpgrade;
    }

同学你好,如果方法有执行输出,那么双击没有显示的UI,看看它在哪里,检查一下:
1.是不是我们的位置变化了,或者设置了父对象。
2.是不是UI透明度设置为0了。