Hpw to make UI that looks like the animation editor?

How would I join two scrolling frames, or make it so that I have two lists of content in a scrolling frame? See the animation editor- it has space for the keyframes and the dropdowns and each corresponding item is aligned, but you can scroll in both frames at the same time. Trying to make UI like this. You can resize it too and both sections respect each other.

Image from Gyazo

I’ve made ui pretty close to this, but I don’t know how to get the edge of the keyframe info for that item to align with the edge of the ui.

Image from Gyazo

1 Like

To make two ScrollingFrame elements scroll in perfect sync, you need to bind their CanvasPosition properties using a property change event. Here is how to achieve that:

1. The Synchronization Script:
Don’t use RenderStepped, as that is overkill. Instead, use GetPropertyChangedSignal on the “Master” frame:

-- Assuming 'LeftFrame' is your list of names and 'RightFrame' is the keyframe editor
LeftFrame:GetPropertyChangedSignal("CanvasPosition"):Connect(function()
    RightFrame.CanvasPosition = Vector2.new(RightFrame.CanvasPosition.X, LeftFrame.CanvasPosition.Y)
end)

That works for basic syncing, but it’ll break if the content size changes dynamically and one frame ends up longer than the other. You should also check if you actually need two frames at all; sometimes a single frame with a custom layout is much easier to manage than trying to keep two separate CanvasPositions in sync.

1 Like

It’s a mouse icon change
I have made exactly that in my plugin

You can look at the source code to go in-depth.
To trigger that, either check the distance from the edge or alternatively create an invisible button