[3.x] Add iOS UI Options

This commit is contained in:
Zach Coleman 2022-11-01 21:08:13 -04:00
parent 8f7508ca4d
commit 5e7b0e3a61
3 changed files with 19 additions and 2 deletions

View file

@ -483,6 +483,13 @@
<member name="display/window/ios/hide_home_indicator" type="bool" setter="" getter="" default="true">
If [code]true[/code], the home indicator is hidden automatically. This only affects iOS devices without a physical home button.
</member>
<member name="display/window/ios/hide_status_bar" type="bool" setter="" getter="" default="true">
If [code]true[/code], the status bar is hidden while the app is running.
</member>
<member name="display/window/ios/suppress_ui_gesture" type="bool" setter="" getter="" default="true">
If [code]true[/code], it will require two swipes to access iOS UI that uses gestures.
[b]Note:[/b] This setting has no effect on the home indicator if [code]hide_home_indicator[/code] is [code]true[/code].
</member>
<member name="display/window/per_pixel_transparency/allowed" type="bool" setter="" getter="" default="false">
If [code]true[/code], allows per-pixel transparency for the window background. This affects performance, so leave it on [code]false[/code] unless you need it.
See [member OS.window_per_pixel_transparency_enabled] for more details.

View file

@ -1281,6 +1281,8 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
}
GLOBAL_DEF("display/window/ios/hide_home_indicator", true);
GLOBAL_DEF("display/window/ios/hide_status_bar", true);
GLOBAL_DEF("display/window/ios/suppress_ui_gesture", true);
GLOBAL_DEF("input_devices/pointing/ios/touch_delay", 0.15);
ProjectSettings::get_singleton()->set_custom_property_info("input_devices/pointing/ios/touch_delay",
PropertyInfo(Variant::REAL,

View file

@ -168,7 +168,11 @@
// MARK: Orientation
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures {
return UIRectEdgeAll;
if (GLOBAL_GET("display/window/ios/suppress_ui_gesture")) {
return UIRectEdgeAll;
} else {
return UIRectEdgeNone;
}
}
- (BOOL)shouldAutorotate {
@ -210,7 +214,11 @@
}
- (BOOL)prefersStatusBarHidden {
return YES;
if (GLOBAL_GET("display/window/ios/hide_status_bar")) {
return YES;
} else {
return NO;
}
}
- (BOOL)prefersHomeIndicatorAutoHidden {