如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 250 编程语言
如果ScrollRect的内容是分页设计的,想实现ScrollRect拖动到最底端再获取下一页,如果实现呢,见下文。
打开Unity3D后,单击菜单GameObject->UI->Panel,创建一个Panel。如下图:
创建好Panel之后,选中Canvas,单击鼠标右键,选中UI->Scrollbar,创建一个ScrollBar。
把scrollbar的Direction设置成Bottom To Top如下图:
在刚刚创建好的Panel下添加ScrollRect和Mask组件,添加方法如下图:
添加好ScrollRect后,把之前创建好的ScrollBar拖到ScrollRect的Vertical Scrollbar上。如下图:
选中Panel,右键单击鼠标,选中CreateEmpty,将创建的新对象命名为grid
在grid下添加Grid Layout Group和Content Size Fitter组件,并如下设置。
选中Panel,单击鼠标右键,选择UI->Panel,并将创建好的Panel命名为Item
选中刚刚创建好的Item,单击鼠标右键,选择UI->Text,创建Text
创建一个脚本文件,命名为ItemControl.cs
输入一下内容:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class ItemControl : MonoBehaviour {
private Text labText;
public void setItem(string str)
{
labText = transform.GetComponentInChildrenText>();
labText.text = str;
}
}
将ItemControl.cs添加到Item上,如下图
创建脚本ScrollRectControl.cs
输入一下内容:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class ScrollRectControl : MonoBehaviour, IEndDragHandler
{
public Scrollbar bar;
private ScrollRect scrollRect;
private GameObject item;
private GameObject grid;
void Start()
{
scrollRect = transform.GetComponentScrollRect>();
item = transform.FindChild("Item").gameObject;
grid = transform.FindChild("grid").gameObject;
addItem();
}
public void OnEndDrag(PointerEventData eventData)
{
if (bar.value = 0)
{
addItem();
}
}
void addItem()
{
for (int i = 0; i 5; i )
{
GameObject newItem = addChild(item, grid);
newItem.SetActive(true);
string str = string.Format("第{0}项时间为{1}",i,System.DateTime.Now);
newItem.GetComponentItemControl>().setItem(str);
}
}
public static GameObject addChild(GameObject o, GameObject parent)
{
if (o == null || parent == null)
{
return null;
}
GameObject inst = GameObject.Instantiate(o) as GameObject;
inst.transform.SetParent(parent.transform, false);
inst.transform.localPosition = Vector3.zero;
inst.transform.localScale = Vector3.one;
return inst;
}
}
将ScrollRectControl.cs添加到Panel上,并将Scrollbar拖到ScrollRectControl的Bar上,如下图:
运行,看效果:
刚运行时,添加了5个Item项,当拖动到ScrollRect末尾时,又添加了5个Item项。是不是很简单。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: 编程语言
相关文章
如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 250 编程语言
web图表开发工具FineReport:[11]连续分组,数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。......
2023-03-17 482 编程语言