AutomaticSize not updating when object is set to be visible

Hi @unmiss and folks in this thread, please refer to this post and leave any feedbacks you may have!

Iā€™m not able to access that post. It says itā€™s private.

I have moved the post to the Roblox Surveys section, please try again and see if you can access it.

Sorry to say, but this issue is still there, this is a great headache as making a manual auto resize for every scrolling frame is a joke. And I am still facing this issue, and I request you to look around on this.

Thank you.

1 Like

Something like this would work:

local function automaticCanvasSize(scroller)
    local padding = scroller:FindFirstChildOfClass("UIPadding") or Instance.new("UIPadding")
    local layout = scroller:FindFirstChildOfClass("UIListLayout") or scroller:FindFirstChildOfClass("UIGridLayout")
    
    local function update()
        local y = layout.AbsoluteContentSize.Y
        scroller.CanvasSize = UDim2.fromOffset(0,y + padding.PaddingTop.Offset + padding.PaddingBottom.Offset)
    end
    
    update()
    layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(update)
end

automaticCanvasSize(script.Parent.Scroller)
1 Like

Friendly reminder for Roblox to fix this. Its been an issue for me in multiple games and manually resizing using scripts souldnā€™t be required.

Hi @Ejioplex , this issue is on our bugfixing list and weā€™ll be looking into it shortly. Thank you for your understanding and patience!

3 Likes

Hey Charlie,

Any ETA on when this would be fixed, just now running into this issue with my invite service.

Hi @o0Volvic0o , this issue tends to take more time and effort than expected, and it seems to have come back even after we have rolled out a fix long ago, could you please provide some repro files so we can take a further look? Thank you and sorry about the frustration.

1 Like

Hi @Deadwoodx @Ejioplex , we are working to gather additional information on this issue, so please provide any repro files you may have. Thank you!

1 Like

Hello. Iā€™ve figured out that for most of my use cases using UIGridLayouts instead of UIListLayouts works the same way and doesnā€™t appear to have the same issue. But i have attached a file with a UI that seems to misbehave when Using A UIListLayout within A ScrolingFrame that has AutomaticCanvasSize set to Y. It also appearā€™s that @bluebxrrybotā€™s workaround fixes the issue.

Hereā€™s the place file:
Baseplate.rbxl (72.1 KB)

I understand,

This is the best video I can make/send

( Around 0:02 ish you can see a white pixel above the invites header )

Itā€™s weird, itā€™s like the UI doesnā€™t update when itā€™s not visible so I force it to update in a hacky way

This is what the UI tree looks like

Iā€™m not entirely sure if this is the same exact bug or just a similar one, but:

Repro file:
repro.rbxm (11.5 KB)

1 Like

Hi @o0Volvic0o , thanks for getting back to us. We would appreciate if you can attach a rbxm file here including the UI tree you sent in the earlier reply. Thank you

Hi @Nasa_155 , thanks for attaching the rbxm file. We have looked into the file but could you help us understand what is misbehaving and what is expected? If possible, I would recommend filing a separate bug report with the video and files following this guideline.

Hi @Ejioplex , thanks for getting back to us with the file. Although this is a separate issue from the original post, it is a known issue of AutomaticSize. In your case, the automatic sized parent object calculated sizes based on children, and children has relative scale sizes based on the parent, this will cause infinite cycles and unknown behaviors. If possible, I would recommend using offset sizes under automatic sized objects. Also, itā€™s great to hear that the workaround fixes the issue. Thanks for contributing to the bug report! Please do let us know if you have any other questions.

This might be a weird request but Is it possible I send it privately?

The reason being this isnā€™t something I want publicly available for anyone to just download and use my UI

Certainly! Please send me a message.