您的位置:首页 > 产品设计 > UI/UE

UIWrapContent实现Item复用

2016-05-05 16:30 489 查看
using System.Collections.Generic;
using UnityEngine;

/// + Scroll View
/// |- UIWrappedContent
/// |-- Item 1
/// |-- Item 2
/// |-- Item 3
///
public class LoopContent : UIWrapContent
{
protected override void Start()
{
base.Start();
onInitializeItem = OnUpdateItem;

WrapItem[] items = this.GetComponentsInChildren<WrapItem>();
for (int i = 0; i < items.Length; i++)
{
items[i].SetValue(Manager.GetData()[i]);
}
}

private void OnUpdateItem(GameObject go, int index, int realIndex)
{
go.GetComponent<WrapItem>().SetValue(realIndex);
}
}


using UnityEngine;
using System.Collections;

public class WrapItem : MonoBehaviour
{
public UILabel lb_Name;

public void SetValue(int index)
{
lb_Name.text = Manager.GetData()[index].ToString();
}
}


public class Manager
{
public static List<int> GetData()
{
List<int> nums = new List<int>();
for (int i = 0; i < 20; i++)
nums.Add(i);
return nums;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: