[iOS] Fix orientation change in runtime.

This commit is contained in:
bruvzg 2023-06-12 10:55:26 +03:00
parent 54ab17eb21
commit 974a7a89c6
No known key found for this signature in database
GPG Key ID: 7960FCF39844EC38
2 changed files with 6 additions and 0 deletions

View File

@ -961,6 +961,7 @@
<param index="1" name="screen" type="int" default="-1" />
<description>
Sets the [param screen]'s [param orientation]. See also [method screen_get_orientation].
[b]Note:[/b] On iOS, this method has no effect if [member ProjectSettings.display/window/handheld/orientation] is not set to [constant SCREEN_SENSOR].
</description>
</method>
<method name="set_icon">

View File

@ -568,6 +568,11 @@ float DisplayServerIOS::screen_get_max_scale() const {
void DisplayServerIOS::screen_set_orientation(DisplayServer::ScreenOrientation p_orientation, int p_screen) {
screen_orientation = p_orientation;
if (@available(iOS 16.0, *)) {
[AppDelegate.viewController setNeedsUpdateOfSupportedInterfaceOrientations];
} else {
[UIViewController attemptRotationToDeviceOrientation];
}
}
DisplayServer::ScreenOrientation DisplayServerIOS::screen_get_orientation(int p_screen) const {