Unity ugui的ScrollView控件

由于我经常时间一长就忘记,到要用的时候又要查,又要摸索,很浪费时间,所以写下这篇文章。

scrollview就是一个能上下或者左右拖动的ui列表,背包、展示多个按钮等情况的时候会用到。

要组成一个完整能用的ScrollView,需要以下几个组件:

scroll rect、 mask、各种layout。大致ui层级结构如下:

 

 先说说scroll rect ,这个东西是位于最上面父节点的组件 content属性下的物体是方各种item的;horizontal和vertical是各种垂直横行拖动;viewprot显示item的框,需要有mask组件。

 

然后是content,它下面放各种item1、2、3、4...,想要让它能自动排列item项,需要有下面那三个组件,选一个就好(这些组件的里面有些默认选项,强烈建议勾都去掉)

自动生成的物体item放在content节点下。

content的大小适不适中,关系到最后的拖动效果。太大的话最后结果会有剩余的空余地方,很不好看;太小的话最后结果可能会造成无论怎么拖动,都看不到所有的item项。

为了应对上述所说的情况,我们要对content物体的rect transform控件进行设置,以下以Vertical layout Group形式进行代码示例(在这之前,content的竖向大小要设置成最小):

RectTransform rect = concent.GetComponent<RectTransform>();//获取content的rect transform组件

//从某某配置表获取的item个数
Dictionary<string, string>.Enumerator it = dic_sceneName.GetEnumerator();
while (it.MoveNext())
{
  GameObject btn_item = GameObject.Instantiate(btn_SelectItem.gameObject);
  btn_item.transform.parent = concent.transform;
  btn_item.gameObject.SetActive(true);

  float btn_rect = btn_SelectItem.GetComponent<RectTransform>().rect.height;//获取单个按钮的高度
  rect.offsetMin -= new Vector2(0, btn_rect);//对content的高度进行修改
}

这样就能让content获得合适的大小了。

想要知道设置rect transform大小的其他属性的方法在我的另一篇文章里,链接:https://www.cnblogs.com/Transmuter/articles/11077520.html

转载于:https://www.cnblogs.com/Transmuter/p/11168474.html

Unity UGUI(用户界面)提供了各种控件来创建用户界面。以下是一些常见控件及其事件: 1. Button:Button 控件用于创建一个可点击的按钮。它有以下几个常见的事件: - On Click:当按钮被点击时触发的事件。 - On Pointer Down:当鼠标或手指按下按钮时触发的事件。 - On Pointer Up:当鼠标或手指抬起按钮时触发的事件。 - On Pointer Enter:当鼠标或手指进入按钮区域时触发的事件。 - On Pointer Exit:当鼠标或手指离开按钮区域时触发的事件。 2. Toggle:Toggle 控件用于创建一个可切换状态的开关。它有以下几个常见的事件: - On Value Changed:当 Toggle 的值(选中或未选中)发生改变时触发的事件。 3. Slider:Slider 控件用于创建一个可以拖动的滑块。它有以下几个常见的事件: - On Value Changed:当 Slider 的值发生改变时触发的事件。 4. Scrollbar:Scrollbar 控件用于创建一个可以拖动的滚动条。它有以下几个常见的事件: - On Value Changed:当 Scrollbar 的值发生改变时触发的事件。 5. Dropdown:Dropdown 控件用于创建一个下拉框。它有以下几个常见的事件: - On Value Changed:当 Dropdown 的值(选中的选项)发生改变时触发的事件。 6. InputField:InputField 控件用于创建一个可以输入文本的框。它有以下几个常见的事件: - On Value Changed:当 InputField 的值发生改变时触发的事件。 - On End Edit:当用户完成输入并按下回车键或点击其他地方时触发的事件。 除了以上列出的常见事件之外,每个控件还可能有其他的事件。可以通过在 Inspector 窗口中选择相应的控件并查看其属性面板来了解更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值