实现
创建枚举类ScrollDir 以区分滚动方向。每组两个按钮负责同方向上左右/上下滚动。
Update 中实时获取Scroll View 滚动条当前位置。
if (dir.Equals(ScrollDir.vertical))
{posCurrent = scroll.verticalNormalizedPosition;
}
else if (dir.Equals(ScrollDir.horizontal))
{posCurrent = scroll.horizontalNormalizedPosition;
}
按钮点击更新滚动。
if (dir.Equals(ScrollDir.vertical))
{posCurrent = Mathf.Clamp(posCurrent += offset, 0f, 1f);scroll.verticalNormalizedPosition = posCurrent;
}
else if (dir.Equals(ScrollDir.horizontal))
{posCurrent = Mathf.Clamp(posCurrent -= offset, 0f, 1f);scroll.horizontalNormalizedPosition = posCurrent;
}
*根据当前滚动位置显示隐藏按钮。
btnMinus.gameObject.SetActive(posCurrent != 1f);
btnPlus.gameObject.SetActive(posCurrent != 0f);