Unity3d 移除某个组件下的 子对象(列表更新)
对ScrollView 列表内容更新时,通常需要先清空列表,再读取数据,而清空列表实际就是销毁该列表上的item,来实现清空列表的目的
实现如下:
//常用于,删除清空列表(更新UI时)
private void RemoveAllListViewItem() {
GameObject obj= transform.FindChild("Scroll View/Viewport/Content").gameObject; // 当前组件的列表内容对象
foreach (Transform child in obj.transform) {
GameObject.Destroy(child.gameObject);
}
}
2018/5/10 更新:
对于 scroll view 里 content 组件的 清除子组件,有个更好的方法是直接调用 该组件的消除方法:
// 让conten 下的子组件脱离
scroll.content.DetachChildren();