iOS Mobile Portrait Mode UI Cut-off

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:

Demonstration

Expected behavior

UI should not be cut off from either side. I should be able to completely cover a screen.

2 Likes

Is this happening just when testing on your phone? Did you tick IgnoreGuiInset?

2 Likes

Use AutoScale Lite to convert the Size to Scale instead of Offset

You should set ScreenGui.ScreenInsets to Enum.ScreenInsets.None. It will disable all insets.

2 Likes

See this post for details: Notched Screen Support - FULL RELEASE

1 Like

This happened after Roblox added the new ScreenGui property last month. Here’s a quick diagram:


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.

1 Like

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

You can disable the safe area clipping behavior by setting ScreenGui.ClipToDeviceSafeArea=false.

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.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.