// 前提:
// 在同一层级列表下,位置越靠后的越后渲染,显示上看越置顶
transform.SetAsLastSibling(); //将转换移动到本地转换列表的末尾。
transform.SetAsFirstSibling(); //将转换移动到本地转换列表的开头。
当父物体为HorizontalLayoutGroup布局时,直接修改物体在列表中的位置会修改物体本身的位置。
解决:在设置列表位置之前先去掉父物体上的HorizontalLayoutGroup组件
var horizontal = transform.parent.GetComponent<HorizontalLayoutGroup>();
if (horizontal != null)
{
Destroy(horizontal);
}
transform.SetAsLastSibling();