本篇先介绍UGUI使用TableView过程中会涉及到的一些基础知识
ScrollRect参数
Viewport 可视区域,出了Viewport范围的Item就看不见了
content(RectTransform) : scrollRect的RectTransForm组件,即滑动面板所有内容的父面板,该RectTransform的边界应该包含其所有需要显示的内容
horizonal(bool) : 是否允许横向滑动
vertical(bool) : 是否允许纵向滑动
movementType(ScrollRect.MovementType) : ScrollRect运动类型
elasticity(float) : 只有在movementType 为Elastic时有意义,这是ScrollRect越过边界后弹回速度的量
decelerationRate(float) : DecelerationRate的正常值为0 -1,该值大于等于1时则永远不会减速,除非到达边界
scrollSensitivity(float) : 对于鼠标滚动轮或者触控板的敏感度,该值越大,对鼠标滚轮的滑动反应越大,可以自行测试,对手指滑动和鼠标拖动影响不大
horizonalScrollbar(ScrollBar) 和 verticalScrollBar(ScrollBar) 分别对应横向的滑动控制条及纵向滑动控制条
onValueChange\ : 当ScrollRect的值被改变时的回调,参数的Vector2是当前ScrollRect内容的位置在父容器的百分位置。Vector2.x对应的是在横向的比例,Vector2.y对应的在纵向的比例。
Mask
超出Scroll边界的地方不需要显示,需要添加一个遮罩Mask
如果本身的图片也不需要显示,ShowMaskGraphic弃选
GridLayoutGroup
- Padding 偏移
- left 左偏移
- right 右偏移
- top 上偏移
- bottom 下偏移
- CellSize cell大小
- Spacing cell之间的间隔
- StartCorner 第一个cell被放置的位置
- StartAxis 起始坐标系
- ChildAlignment cell的对齐方式
- Constraint 限制
- flexible 自适应
- fixed column count 固定列数
- fixed row count 固定行数
ContentSizeFitter
- HorzontalFit 水平适应
- Unconstrained 不执行任何调整
- MinSize 调整内容的最小大小
- PreferredSize 根据内容自动调整大小
- VerticalFit 垂直适应
使用ContentSizeFitter 组件,RectTransform组件会发生响应的变化,默认情况下RectTransform组件的Width和Height可以在编辑模式下修改,当HorzontalFit 不为Uncontrained时,Width不可修改,同理,VerticalFit不为Unconstarined时,Height不可修改
实际使用中经常结合GridLayoutGroup、HorizontalLayoutGroup、VerticalLayoutGroup。例如制作一个垂直的滚动条,可添加ContentSizeFitter将HorzontalFit设置为不执行任何调整,VerticalFit设置为PreferredSize