Reproduction Steps
This issue occurs when a UIScale constraint is placed within a Frame, in which a ScrollingFrame occurs (the scrolling frame contains a UIListLayout of text items, however on brief test it also works when no UIListLayout constraint is used). This occurs in both studio and client.
System Information: Windows 10 Desktop, AMD A10-5700, 16GB RAM, NVIDIA GeForce GT 1030
Expected Behavior
I expect the CanvasSize to automatically match the contents of the scrolling frame, such that the bottom of the last item is the maximum scroll distance of the frame, as per when UIScale = 1.
Actual Behavior
When UIScale > 1, the bounds are less than the scaled contents of the frame, so at the maximum scroll distance it hasn’t yet shown all the elements.
(if you set UIScale < 1 there also seems to be an issue with the contents jumping once the scrollbar reaches a certain distance.)
Workaround
Programmatically getting the AbsoluteContentSize of the UIListLayout, dividing this by the scale and setting that to the CanvasSize with AutomaticCanvasSize set to None, however I’m struggling to get this workaround to work with a more complex scenario.
Issue Area: Engine Issue Type: Display Impact: Moderate Frequency: Constantly Date First Experienced: 2021-07-07 00:07:00 (+01:00) Date Last Experienced: 2021-07-07 00:07:00 (+01:00)
I can second this report. I frequently work with UIScale, and AutomaticSize seems to be messing up things like text labels, lists, and grids if the UIScale affecting the automatic sized frame is not equal to 1.
This is causing major issues in my game with users on mobile or on monitors with resolutions >1080p (due to the math I am using). It will be a pain to switch every instance of automatic scaling to use custom math, and I really hope this is fixed soon.
To work around the problem, I’ve been using UIListLayout.AbsoluteContentSize when possible - but I shouldn’t have to do this and it’s been a real pain point in my UI development! Really hoping for a fix.
Hey, so when I apply padding to my UI listlayout the automatic canvas size doesn’t size correctly on the y axis. And it gets worse as I increase the padding. It wont let me scroll down more than this which doessnt show the whole UI. This is a major problem because I have to resort to custom code just to get it to work using a UI listlayout. I am able to reproduce this problem 100 percent of the time.