public static void SetTopOffset(this ScrollRect scrollrect, RectTransform viewport, float topOffset) { float heighDiff = scrollrect.HeightDifference(viewport); if (Mathf.Approximately(heighDiff, 0)) { scrollrect.verticalNormalizedPosition = 0; } else { scrollrect.verticalNormalizedPosition = Mathf.Clamp01(1 - topOffset / heighDiff); } }
public static void SetBottomOffset(this ScrollRect scrollrect, RectTransform scrollrectTransform, float bottomOffset) { float heighDiff = scrollrect.HeightDifference(scrollrectTransform); if (Mathf.Approximately(heighDiff, 0)) { scrollrect.verticalNormalizedPosition = 0; } else { scrollrect.verticalNormalizedPosition = Mathf.Clamp01(bottomOffset / heighDiff); } }
public static float BottomOffset(this ScrollRect scrollrect, RectTransform scrollrectTransform) { return(scrollrect.HeightDifference(scrollrectTransform) * scrollrect.verticalNormalizedPosition); }
public static float TopOffset(this ScrollRect scrollrect) { return(scrollrect.HeightDifference() * (1f - scrollrect.verticalNormalizedPosition)); }