How to scale Gui's inside of UiGridLayout?

I cant figure out how to fix the gap on the side and the size differences.
This is a snapshot from my pc


This is a snapshot from an Iphone
help2

You have to use either scale or offset

edit : make sure the frame that the UI Grid Layout is the same Enum size that the Grid Layout is

Yes I have and it doesn’t work

Just made a quick script to scale objects of UIGridLayout correctly in a scrolling frame. Make sure all the sizes, CanvasSize, Scrolling Frame Size, UIGridLayout CellSize are all in scale when you use this.

local grid = script.Parent:WaitForChild("UIGridLayout")

local oldSize = script.Parent.CanvasSize

script.Parent:GetPropertyChangedSignal("CanvasSize"):Connect(function()
	local frameSize = script.Parent.Size
	local newSize = script.Parent.CanvasSize
	
	local xR = (oldSize.X.Scale == 0 and frameSize.X.Scale or oldSize.X.Scale)/(newSize.X.Scale == 0 and frameSize.X.Scale or newSize.X.Scale)
	local yR = (oldSize.Y.Scale == 0 and frameSize.Y.Scale or oldSize.Y.Scale)/(newSize.Y.Scale == 0 and frameSize.Y.Scale or newSize.Y.Scale)
	
	oldSize = newSize
	
	grid.CellSize = UDim2.new(
		grid.CellSize.X.Scale * xR,
		grid.CellSize.X.Offset,
		grid.CellSize.Y.Scale * yR,
		grid.CellSize.Y.Offset
	)
end)

It may or may not work correctly because scrolling frames are weird. I wish there was an in-built property/function for this.

It doesnt seem to change anything

Could you send the place file?

Hey, sorry for replying so late. I decided to just leave it as is, thanks for the help anyway.