When playing a game in Portrait mode on iOS, more specifically those without a home button and instead with the white bar at the bottom of the screen, any UI elements that attempt to extend past the bottom or top of the screen are cut off. This makes it difficult to implement things such as a loading screen to hide the screen while the game loads, or any UI elements that should cover the entire screen for that matter. As far as I know, this issue doesn’t exist in Landscape mode.
Not sure how long this has been happening, only found out about it after working on a game that uses Portrait mode.
Specs
At least iPhone 12? and above
Visual
This is what it looks like when I add a Frame object that should completely cover the screen(Size = 1,0,1,10000). Despite Y.Offset being set to a very large number, the Frame still gets cut off on both top and bottom sides of the screen:
Previously we could create the bounds from the image on the left, but this is no longer possible without some scripting to figure out where the bounds are. This broke some UIs of mine in my game:
I used the bounds in the above image to create a vertically expanding list that is anchored to the bottom of the phone screen in portait mode, and with additional static UI elements that floated at the top of the bounds. Now I am forced to split these two UIs in to separate GUIs to achieve the effect I could previously create with one GUI.
Hi, although it may seem counterintuitive, ScreenGuis clipping their content to the safe area is actually the intended default behavior. The reason for this is to provide backwards-compatibility for existing games which position GuiObjects offscreen, here’s the documentation page with more information: ScreenGui | Documentation - Roblox Creator Hub
As @0Tenth mentioned you can also set ScreenInsets=None to disable this clipping, but keep in mind this also removes the safe area insets at the top/bottom of the screen.