Unity3d LayoutRebuilder.ForceRebuildLayoutImmediate调用无效

问题

在修改了 Layout 的布局的参数后,调用 LayoutRebuilder.ForceRebuildLayoutImmediate 刷新界面第一次不生效。

解决

在帧结束的时候,Toggle 一个组件的 active 属性,重新刷新布局。

private void OnEnable()
{
      StartCoroutine(ForceRefreshLayout());
}
...
 private IEnumerator ForceRefreshLayout()
 {
     yield return new WaitForEndOfFrame();
     forceRefreshLayout.ForEach(item =>
     {
         item.gameObject.SetActive(false);
         item.gameObject.SetActive(true);
         LayoutRebuilder.ForceRebuildLayoutImmediate(item);
     });
 }

你可能感兴趣的:(问题记录,unity,学习)