Search Unity

How can I programmatically tween a Scroll View to a desired position?

Discussion in 'UGUI & TextMesh Pro' started by jhow77, Apr 18, 2017.

  1. jhow77

    jhow77

    Joined:
    Jan 10, 2017
    Posts:
    19
    I currently have a horizontal scroll view. The content of the scroll view includes a bunch of panels that are laid out horizontally next to each other. Each panel should be snapped to (or centered) when it is selected.

    Currently, upon OnEndDrag, depending on the Scroll View's current velocity and positioning, the Scroll View may snap to the panel to the left or right of the currently selected panel. I do this using horizontalNormalizedPosition.

    How can I programmatically "tween" the scroll view to gradually scroll towards the next panel (as opposed to immediate snapping)? Ideally, upon OnEndDrag, I would roughly decelerate from the current velocity until the Scroll View stops at the exact panel it's scrolling to. But, if that's not possible, a linear scroll to my destination x position would suffice.
     
  2. jhow77

    jhow77

    Joined:
    Jan 10, 2017
    Posts:
    19
  3. Fizzer

    Fizzer

    Joined:
    Nov 16, 2016
    Posts:
    40
    You can tween scroll views just like you would tween anything else. Search the asset store for "tween", find a tweening library you like (there are free ones), read the documentation and then use it to tween the horizontalNormalizedPosition property.