ScrollView

新建

  • 选中或者创建新节点
  • 手动挂载或者使用快捷键(GameObject-> UI -> Scrollbar)创建脚本Scroll Rect

效果展示

参数解释

  • Content 内容

这是对需要滚动的 UI 元素(例如大型图像)的矩形变换的引用。

  • Horizontal 水平滚动

启用水平滚动

  • Vertical 垂直滚动

启用垂直滚动

  • Movement Type 运行方式

Unrestricted、Elastic 或 Clamped。使用 Elastic 或 Clamped 可强制内容保持在滚动矩形的边界内。Elastic 模式在内容到达滚动矩形边缘时弹回内容
Elasticity 这是弹性模式中使用的反弹量。

  • Inertia 惯量

如果设置 Inertia,则拖动指针再松开时内容将继续移动。如果未设置 Inertia,则只有进行拖动时内容才移动。
Deceleration Rate 减速率 设置 Inertia 的情况下,减速率决定了内容停止移动的速度。速率为 0 将立即停止移动。值为 1 表示移动永不减速。

  • Scroll Sensitivity 敏感性

对滚轮和触控板滚动事件的敏感性。

  • Viewport 视图

对作为内容矩形变换父项的视口矩形变换的引用。

  • Horizontal Scrollbar 水平滚动条

对水平滚动条元素的引用(可选)。
Visibility 滚动条是否应在不需要时自动隐藏以及(可选)是否还展开视口。
Spacing 滚动条与视口之间的空间。

  • Vertical Scrollbar 垂直滚动条

对垂直滚动条元素的引用(可选)。
Visibility 滚动条是否应在不需要时自动隐藏以及(可选)是否还展开视口。
Spacing 滚动条与视口之间的空间。

  • On Value Changed 事件

滚动矩形的滚动位置发生变化时调用的 UnityEvent。该事件可将当前滚动位置作为 Vector2 类型动态参数发送。

代码示例

using UnityEngine;
using UnityEngine.UI;

public class UGUIScrollView : MonoBehaviour
{
    ScrollRect scrollRect;
    void Start()
    {
        scrollRect = GetComponent<ScrollRect>();

        SetScrollBottom();
    }

    void SetScrollTop()
    {
        // 到初始位置 值的范围是0-1,0是底部或左侧,1是顶部或右侧
        scrollRect.normalizedPosition = new Vector2(0, 1);
    }

    void SetScrollBottom()
    {
        // 到初始位置 值的范围是0-1,0是底部或左侧,1是顶部或右侧
        scrollRect.normalizedPosition = new Vector2(0, 0);
    }
}



posted @   请明月  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示