A UIAspectRatioConstraint ensures that the parent UI element (GuiObject) maintains a particular aspect ratio even if its size is set as a percentage of its parent. If an object with this constraint is also under the control of a UILayout such as UIGridLayout, then the constraint controls the objects size and overwrites any size the layout would apply.
When applied to a GuiObject, the UIAspectRatioConstraint will make sure that the objects ratio is maintained by the value defined in UIAspectRatioConstraint.AspectRatio. The UIAspectRatioConstraint.AspectType sets what determines the maximum size of the object. When set to UIAspectRatioConstraint.FitWithinMaxSize, the constraint will make the object the maximum size it can be within the GuiObject of the element. When set to ScaleWithParentSize, the elements maximum size will be the size of the parent while still maintaining the aspect ratio. Finally, the UIAspectRatioConstraint.DominantAxis will determine which axis to use when setting the new size of the element.
AspectRatio determines the width-to-height ratio to maintain. To flip the ratio to height-to-width, take the inverse (divide 1 by the number or raise to the -1st power). This value must be greater than zero. Below, a white Frame is placed within the a black Frame with two different width-to-height ratios.
AspectType determines what limits the maximum size of the element.
- When set to FitWithinMaxSize, the constraint will make the object the maximum size it can be within its own GuiBase2d.AbsoluteSize.
- When set to ScaleWithParentSize, the UI element's maximum size will be the size of the parent while still maintaining the aspect ratio..