ScrollingFrame clips automatically sizing Text-based GuiObjects; prevents AutomaticCanvasSize entirely

Any TextLabel, TextButton, or TextBox with an AutomaticSize of Enum.AutomaticSize.Y will have it’s length incorrectly constrained when parented to a ScrollingFrame whose AutomaticCanvasSize is Enum.AutomaticSize.Y.

The automatically sized GuiObject is never allowed to extend sizing past the AbsoluteWindowSize of the ScrollingFrame, making scrolling and a use case like embedded/minimized description boxes impossible.

repro.rbxl

Steps to reproduce:

  1. Observe that the TextLabel automatically sizes it’s Y axis correctly to a height of 616px.
  2. Parent the TextLabel to the ScrollingFrame.
  3. Observe that the TextLabel automatically sizes it’s Y axis incorrectly to a height of 286px.

Expected behavior

The TextLabel should arbitrarily define it’s axes’ length based on internal content (Size as default, TextBounds, UIPadding, embedded children, layout objects, etc).

7 Likes

AutomaticCanvasSize has so many problems. There are tons of other issues with UIPadding, UIScale, and UIAspectRatioConstraint (and probably others too) that have been unfixed for a very long time. Hopefully these issues get attention soon but they’ve seem to be ignored for a while now.

5 Likes

Hi @bmcqqq thanks for your feedback, we are actively working on AutomaticCanvasSize/AutomaticSize issues around UIPadding, UIScale and UIAspectRatioConstraint recently. You are welcome to provided any repro files where those don’t work well. Thanks for your patience!

1 Like

Hi @hello42 , thanks for reporting the issue! As we look into the issue you filed here, we suggest that setting CanvasSize to be {0, 0},{1, 0} so that the canvas has a correct width to start with for the text layout. Meanwhile we are also looking into it to see what could be fixed on our end. Thank you!

1 Like

The proposed fix is not an acceptable one at the moment, due to the fact that CanvasSize is incorrectly calculated as the height of the Viewport and not clamped to the AbsoluteSize of the containing frame. If it were the case that would be fine.

I see, the issue does stay with the suggested fix. we will look into this issue soon. Thank you!

1 Like

SizingReproduction.rbxl (49.3 KB)

Here is a reproduction file that has ScrollingFrame and AspectRatio sizing issues.

Any update on this issue? It has been a month since the last update and this problem is still causing severe visual issues on UIs in my games that rely on these components.

Hi @bmcqqq , your issue has been prioritized and we’ll be addressing it shortly. We kindly request your understanding and patience as we have a lot on our plate right now. Please rest assured that we’re committed to resolving your concern as efficiently as possible. Thank you for your understanding.

2 Likes

Hi @bmcqqq , we are investigating the issue you reported. You could try using RichText for the text you do not wish to be truncated by the text label bound. Please let us know this does not work for you! (Also FYI @ChefC4ntCook since you also have report this issue.) Thank you!

I definitely have been suffering with these issues for a while now and have basically given up using AutomaticCanvasSize. Every single one of my games that would utilize it has a custom module that I use instead due to these issues being so intrusive.

Automatic canvas size doesn’t seem to work correctly when using a UIListLayout with GUIObject’s using size constraint RelativeXX the objects end up beyond the canvas.
ServerCanvas.rbxm (16.7 KB)

Over a month later and still no sign of this issue being fixed. My issue is with AutomaticCanvasSize not sizing properly so I cannot use RichText to mitigate this issue :confused:. Is there any update on the status of the fix?

Hi @bmcqqq , when you are creating UI, please avoid using objects with scaled sizes under automaticSized/automaticCanvasSized parents. Scaled sizes are calculated based on parent’s sizes, and automatic sizes are depending on children’s sizes so there can be conflicts in resolving a final size. We recommend always using fixed(offset) sizes under automatic sized parents. Also, we are working on releasing a new feature soon that may make it easier for you to create UI layout like this, please stay tuned.

1 Like

Using non-scaled sizes causes issues with smaller devices and coding Lua solutions to this problem is very complicated and requires a lot of processing to do correctly. Is there any way we can have the option to choose if elements in ScrollingFrames have their scale based on the parent’s Size rather than its CanvasSize when the canvas is automatically sized?

Hi @bmcqqq currently there is no option for ScrollingFrames to choose between parent’s size or canvas size unfortunately. Have you checked out our new beta feature New UIListLayout Flex Features [Beta]? Make sure you give it a try and see if this would be a good approach to implement your UI features!