UGUI交互组件ScrollView
一.ScrollView的结构

| 对象 | 说明 |
|---|---|
| Scroll View | 挂有Scroll Rect组件的主体对象 |
| Viewport | 滚动显示区域,有Image和mask组件 |
| Content | 显示内容的父节点,只有个Rect Transform组件 |
| Scrollbar Horizontal | 水平滚动条 |
| Scrollbar Vertical | 垂直滚动条 |
二.Scroll Rect组件的属性

| 属性: | 功能: |
|---|---|
| Content | 这是对需要滚动的 UI 元素(例如大型图像)的矩形变换的引用。 |
| Horizontal | 启用水平滚动 |
| Vertical | 启用垂直滚动 |
| Movement Type | Unrestricted、Elastic 或 Clamped。使用 Elastic 或 Clamped 可强制内容保持在滚动矩形的边界内。Elastic 模式在内容到达滚动矩形边缘时弹回内容 |
| Elasticity | 这是弹性模式中使用的反弹量。 |
| Inertia | 如果设置 Inertia,则拖动指针再松开时内容将继续移动。如果未设置 Inertia,则只有进行拖动时内容才移动。 |
| Deceleration Rate | 设置 Inertia 的情况下,减速率 (Deceleration Rate) 决定了内容停止移动的速度。速率为 0 将立即停止移动。值为 1 表示移动永不减速。 |
| Scroll Sensitivity | 对滚轮和触控板滚动事件的敏感性。 |
| Viewport | 对作为内容矩形变换父项的视口矩形变换的引用。 |
| Horizontal Scrollbar | 对水平滚动条元素的引用(可选)。 |
| Visibility | 滚动条是否应在不需要时自动隐藏以及(可选)是否还展开视口。 |
| Spacing | 滚动条与视口之间的空间。 |
| Vertical Scrollbar | 对垂直滚动条元素的引用(可选)。 |
| Visibility | 滚动条是否应在不需要时自动隐藏以及(可选)是否还展开视口。 |
| Spacing | 滚动条与视口之间的空间。 |
注意事项:
- 视口Viewport具有Mask组件。视口可以是根游戏对象,也可以是作为根的子项的单独游戏对象。如果使用自动隐藏的滚动条,则视口必须是子项。需要在滚动矩形的 Viewport 属性中引用视口矩形变换。
- 所有滚动内容必须是作为视口子项的单个内容游戏对象的子项。需要在滚动矩形的 Content 属性中引用内容矩形变换。
- 滚动条(如果使用)是根游戏对象的子项。请参阅滚动条页面了解有关滚动条设置的更多详细信息,并参阅下面的滚动条设置部分了解有关滚动视图的滚动条设置的信息。
广泛应用的Scroll View情形:垂直,回弹,无滚动条,如下图所示,看下要改哪些设置

2.1 Horizontal关闭
2.2 删除Scrollbar Horizontal和Scrollbar Vertical
2.3 将ViewPort和Content的宽度设为和父节点一样
2.4 Content下挂上一个子节点,将位置摆在最上面

三.动态添加子节点
实际项目中Scroll View上有几个显示内容节点大部分情况是取决于后端数据,因此需要通过代码动态创建,内容创建完成后要注意的是需要设置Content的高度,不然当所有显示内容高于Content时,滚动显示不完整,实例代码如下
using TMPro;
public class CScrollView : MonoBehaviour
{void Start(){GameObject bgItem = GameObject.Find("ScrollView/Viewport/Content/bgItem");GameObject contentSV = GameObject.Find("ScrollView/Viewport/Content");int itemNum = 9;int itemHeight = 100;int itemOffset = 110;int allItemHeight = (itemNum - 1) * itemOffset + itemHeight;int svHeight = 500;for(int i = 0; i < itemNum; i++){GameObject oneBgItem = Instantiate(bgItem);oneBgItem.transform.SetParent(contentSV.transform,true);float posY = -50 - i * itemOffset;oneBgItem.transform.localPosition = new Vector3(200, posY, 0);//设置文本GameObject itemText = oneBgItem.transform.GetChild(0).gameObject;itemText.GetComponent<TMP_Text>().SetText((i+1).ToString());}bgItem.SetActive(false);//设置content高度if(svHeight < allItemHeight){RectTransform rectTransform = contentSV.GetComponent<RectTransform>();rectTransform.sizeDelta = new Vector2( 400, allItemHeight);}}
}
运行后可以看到模拟出了游戏中需要的效果
四.事件监听和滚动到指定位置
//滚动监听ScrollRect scrollRect = GameObject.Find("ScrollView").GetComponent<ScrollRect>();scrollRect.onValueChanged.AddListener(delegate (Vector2 ve2){Debug.Log("滚动ing y = "+ ve2.y);});//滚动到指定位置scrollRect.normalizedPosition = new Vector2(0, 0.5f);;

相关文章:
UGUI交互组件ScrollView
一.ScrollView的结构 对象说明Scroll View挂有Scroll Rect组件的主体对象Viewport滚动显示区域,有Image和mask组件Content显示内容的父节点,只有个Rect Transform组件Scrollbar Horizontal水平滚动条Scrollbar Vertical垂直滚动条 二.Scroll Rect组件的属…...
【文件IO】文件系统的操作 流对象 字节流(Reader/Writer)和字符流 (InputStream/OutputStream)的用法
目录 1.文件系统的操作 (File类) 2.文件内容的读写 (Stream流对象) 2.1 字节流 2.2 字符流 2.3 如何判断输入输出? 2.4 reader读操作 (字符流) 2.5 文件描述符表 2.6 Writer写操作 (字符流) 2.7 InputStream (字节流) 2.8 OutputStream (字节流) 2.9 字节…...
计算机网络 | 数据链路层
计算机网络 | 数据链路层 计算机网络 | 数据链路层基本概念功能概述封装成帧与透明传输封装成帧透明传输字符计数法字符填充法零比特填充法违规编码法小结 差错控制差错是什么?差错从何而来?为什么要在数据链路层进行差错控制?检错编码奇偶校…...
C#,数值计算——分类与推理Gaumixmod的计算方法与源程序
1 文本格式 using System; using System.Collections.Generic; namespace Legalsoft.Truffer { public class Gaumixmod { private int nn { get; set; } private int kk { get; set; } private int mm { get; set; } private double…...
【Android】Intel HAXM installation failed!
Android Studio虚拟机配置出现Intel HAXM installation failed 如果方案一解决没有作用,就用方案二再试一遍 解决方案一: 1.打开控制面板 2.点击左侧下面最后一个程序 3.点击启用或关闭Windows功能 4.勾选Windows虚拟机监控程序平台 5.接下来重启电脑…...
2023年中国自动驾驶卡车市场发展趋势分析:自动驾驶渗透率快速增长[图]
自动驾驶卡车的技术原理是通过电脑算法控制车辆行驶,辅助驾驶员完成任务。其实现方式主要是基于传感器和计算处理技术。自动驾驶卡车可以随时感知周围环境,灵活避障,自适应调整行驶路径,相比之下传统卡车需要驾驶员进行手动操作&a…...
力扣第17题 电话号码的字母组合 c++ 回溯 经典提升题
题目 17. 电话号码的字母组合 中等 相关标签 哈希表 字符串 回溯 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。…...
华纳云:怎么判断VPS的ip是不是公网ip
要判断一个VPS的IP地址是否为公网IP,您可以执行以下步骤: 查看IP地址: 首先,获取您的VPS的IP地址。您可以使用以下命令来查看VPS的IP地址: curl ifconfig.me 或 curl ipinfo.io/ip 这些命令将显示VPS的公网IP地址。 检…...
QT学习笔记1-Hello, QT
1. QT环境 1.1 QT_CREATOR QT的集成开发工具,可以进行项目的创建运行。有一些实例可以运行之。 1.2 QT_ASSISTANT QT的工具书 2. 核心的概念 2.1 windows 窗口 2.2 widget 组件放置在窗口上的 2.3 bar 栏 2.4 icon 图标 3. Hello, QT 3.1 main.cpp …...
水滴卡片效果实现
效果展示 CSS 知识点 border-radius 属性运用 FANCY-BORDER-RADIUS 工具 此工具主要是实现不规则的图形。 FANCY-BORDER-RADIUS 工具地址 页面整体布局实现 <div class"container"><div class"drop" style"--clr: #ff0f5b">&l…...
【算法题】2899. 上一个遍历的整数
插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 题目: 给你一个下标从 0 开始的字符串数组…...
Python+unittest+requests接口自动化测试框架搭建 完整的框架搭建过程
首先配置好开发环境,下载安装Python并下载安装pycharm,在pycharm中创建项目功能目录。如果不会的可以百度Google一下,该内容网上的讲解还是比较多比较全的! 大家可以先简单了解下该项目的目录结构介绍,后面会针对每个文…...
系统架构设计:19 论数据挖掘技术的应用
目录 一 数据挖掘技术 1 数据挖掘的分类 2 数据挖掘的主要方法 一 数据挖掘技术 从技术角度看,数据挖掘可以定义为从大量的、不完全的、有噪声的、模糊的、随机的实际数据中提取隐含在其中的、人们不知道的、但又潜在有用的信息和知识的过程。</...
如何选择高防CDN和高防IP?
目录 前言 一、对高防CDN的选择 1. 加速性能 2. 抗攻击能力 3. 全球覆盖能力 4. 可靠性和稳定性 二、对高防IP的选择 1. 防御能力 2. 服务质量 3. 安全性 4. 价格 三、高防CDN和高防IP的优缺点对比 1. 高防CDN的优缺点 2. 高防IP的优缺点 总结 前言 随着互联网…...
【html】利用生成器函数和video元素,取出指定时间的视频画面
简言 有的时候想截取视频某一秒的视频画面。 手动截取操作麻烦,还得时刻关注视频播放时间。 于是,我搞出来了一个根据视频自动截取特定时间描述的页面。 效果 实现步骤 获取视频对象根据视频时长生成时间选择表单根据表单选择的时间和视频地址&#x…...
第五十九章 学习常用技能 - 将数据从一个数据库移动到另一个数据库
文章目录 第五十九章 学习常用技能 - 将数据从一个数据库移动到另一个数据库 第五十九章 学习常用技能 - 将数据从一个数据库移动到另一个数据库 如果需要将数据从一个数据库移动到另一个数据库,请执行以下操作: 识别包含数据及其索引的Global。 如果…...
虚拟示波器的设计与实现
摘 要 针对传统示波器功能单一、不方便更新升级的缺陷,本文基于虚拟仪器软件LabVIEW和NI PCI-6221数据采集卡设计并实现了一种多功能虚拟示波器,该虚拟示波器不仅具有采集和显示实际信号时域波形的功能,还具有信号产生、波形存储等功能。 测试…...
ImgPlus:基于CodeFormer的图片增强
背景 最近参与了华为云开发者大会AI赛道,做了一个AI图片增强作品,本片文章来简单介绍一下。 正文 作品名称:ImgPlus 赛题技术领域选择: AI,图片增强 使用技术名称: CodeFormer,ECS࿰…...
2024华为校招面试真题汇总及其解答(二)
6.【算法题】三步问题 题目: 三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。 示例1: 输入:n = 3 输出:4说明: 有四种走法示例2: 输入:n = 5输出:1…...
编译链接(Compile Link)
文章目录 前言一、翻译环境1、概念2、翻译环境的组成3、什么是编译链接? 二、编译1、编译的阶段2、预编译3、编译1、什么是语法分析?2、什么是词法分析?3、什么是语义分析?4、什么是符号汇总? 4、汇编1、符号表展示 三…...
从‘冠军策略’到实盘失效:深度复盘菲阿里四价在A股期货市场的7年表现
菲阿里四价策略的七年之痒:量化交易者必须警惕的经典策略陷阱 1. 当冠军策略遭遇市场进化 2015年,当某位日本期货冠军公开其赖以成名的菲阿里四价策略时,整个亚洲量化圈为之震动。这个看似简单的日内突破策略,凭借其清晰的逻辑和可…...
AMD NPU加速GPT-2微调:边缘AI训练实战解析
1. AMD NPU与客户端AI训练的技术背景在AI模型部署领域,边缘计算正经历着从单纯推理到完整训练工作流的范式转变。传统上,像GPT-2这样的语言模型训练完全依赖云端GPU集群,但这种方式存在数据隐私泄露、网络延迟和持续服务依赖等固有缺陷。AMD …...
倍福官网改版后,如何用F12开发者工具找回消失的Twincat3老版本安装包(附4024.11下载链接)
倍福官网改版后如何找回消失的Twincat3老版本安装包 作为一名自动化工程师,你是否遇到过这样的困境:项目需要特定版本的Twincat3进行维护或兼容性测试,但倍福官网改版后,历史版本下载入口却神秘消失了?这种情况在工业软…...
别再问STM32哪个型号有DAC了!一张图看懂F1/F4/L1系列DAC配置差异与选型避坑
STM32全系列DAC选型指南:从F1到L1的深度对比与实战避坑 当你的项目需要精确模拟输出时,STM32的DAC功能往往成为关键选择因素。但面对ST公司庞大的产品线,即使是经验丰富的工程师也常陷入选型困惑——为什么同系列不同封装的芯片DAC配置不同&a…...
为什么92%的AIGC剪辑师仍在用手动导出?揭秘Sora 2直连Premiere的7大底层优化与3个避坑红线
更多请点击: https://intelliparadigm.com 第一章:Sora 2与Premiere直连整合的行业悖论与破局起点 当OpenAI正式释放Sora 2的API文档并开放有限开发者预览时,Adobe Premiere Pro团队内部立即启动了“Project Lumen”——一项旨在实现双向帧级…...
从零到一:基于ESP8266 AT指令与华为云IoT平台构建智能设备原型
1. ESP8266硬件准备与固件烧录 第一次接触ESP8266时,我被这个小巧的Wi-Fi模块惊艳到了——它只有指甲盖大小,却能实现完整的网络连接功能。不过在实际使用中,我发现出厂固件往往功能不全,特别是MQTT支持不够完善,这时候…...
2025届学术党必备的五大AI写作工具实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 到了2026年,人工智能生成内容也就是AIGC技术,已经深入渗透到内容创作…...
【初阶数据结构】 左右逢源的分支诗律 二叉树1
📖 点击展开/收起 文章目录 文章目录树的概念***树的基础概念***森林树和森林的存储二叉树二叉树的性质二叉树的遍历二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力!树的概念 在讲解…...
热销榜单:2026年深圳App开发公司推荐,揪出大众推荐的五大高口碑产品
在2026年、深圳的App开发公司凭借其创新能力逐渐崭露头角。在这个市场中解决方案、从电商到物联网设计美学赢得了用户信任;而本凡码农科技则专注于小程序定制、满足市场对便捷应用的追求。还有、云码科技伴随着创新技术提供了更高等灵活性,而晨曦科技结合…...
Source Han Serif CN:7款免费开源字体如何重塑你的中文排版体验
Source Han Serif CN:7款免费开源字体如何重塑你的中文排版体验 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 在数字内容爆炸的时代,选择一款优秀的中文字体往…...

