UGUI动态滑动列表
来源:互联网 发布:机械行业erp软件哪家好 编辑:程序博客网 时间:2024/06/07 02:51
目录结构
Image 增加控件 ScrollRect
Content 增加VerticalLayoutGroup
预制体
详细代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class initMessage : MonoBehaviour {
List<GameObject> message = new List<GameObject>();
public GameObject item;
public Button cancel;
GameObject myMessage;
GameObject parent;
Vector3 itemLocalPos;
Vector2 contentSize;
float itemHeight;
// Use this for initialization
void Start () {
parent = GameObject.Find("Content");
contentSize = parent.GetComponent<RectTransform>().sizeDelta;
item = Resources.Load("Prefabs/List_1") as GameObject;
itemHeight = item.GetComponent<RectTransform>().rect.height;
itemLocalPos = item.transform.localPosition;
for (int i = 0; i < 8; i++)
{
AddItem(i);
}
}
// Update is called once per frame
void Update () {
}
public void AddItem(int index)
{
GameObject a = Instantiate(item) as GameObject;
a.GetComponent<Transform>().SetParent(parent.GetComponent<Transform>(), false);
a.transform.localPosition = new Vector3(itemLocalPos.x, itemLocalPos.y - message.Count * itemHeight,0);
message.Add(a);
parent.transform.GetChild(index).transform.Find("jujue").GetComponent<Button>().onClick.AddListener(delegate { RemoveItem(a); });
Debug.Log(parent.transform.GetChild(index).transform.Find("jujue").GetComponent<Button>().name);
if(contentSize.y <= message.Count * itemHeight)
{
parent.GetComponent<RectTransform>().sizeDelta = new Vector2(contentSize.x, message.Count * itemHeight);
}
}
public void RemoveItem(GameObject t)
{
int index = message.IndexOf(t);
message.Remove(t);
Destroy(t);
for(int i = index;i < message.Count; i++)
{
message[i].transform.localPosition += new Vector3(0, itemHeight, 0);
}
if(contentSize.y <= message.Count * itemHeight)
{
parent.GetComponent<RectTransform>().sizeDelta = new Vector2(contentSize.x,message.Count * itemHeight);
}
else
{
parent.GetComponent<RectTransform>().sizeDelta = contentSize;
}
}
}
- UGUI动态滑动列表
- [UnityUI]动态滑动列表
- UGUI制作动态的下拉列表
- 【UGUI】UGUI 滑动翻页
- Unity系列——UGUI创建滑动列表tableview
- UGUI动态生成列表功能实现(增删保存)
- Unity UGUI 利用Scroll View动态生成列表
- UGUI实现模糊查询动态生成列表功能
- UGUI实现页面滑动
- UGUI 整页滑动
- UGUI下拉列表控件
- UGUI下拉列表 外观设计
- ugui 无限循环列表
- UGUI 列表循环使用
- UGUI之滑动翻页效果
- UGUI ScrollRect滑动定位优化
- UGUI ScrollRect滑动定位优化
- ScrollRect滑动优化(二)--动态创建Item列表
- int , long , long long 取值范围
- 查找算法系列(三):字典查找
- 【C++】函数
- alert 弹出框美化
- javascript关于变量作用域
- UGUI动态滑动列表
- linux系统启动流程详解
- Python从list删除元素
- FastJson基本使用
- 关于在Spring Cloud Feign工程中使用Ribbon配置不生效的问题
- 内部类
- Spring 框架的理解
- HDU-1257--最少拦截系统--最长上升子序列
- sqlalchemy使用SQLite时BIGINT不支持自增