diff options
author | Zach Coleman <ztc0611@gmail.com> | 2022-10-12 15:17:36 -0400 |
---|---|---|
committer | Zach Coleman <ztc0611@gmail.com> | 2022-10-12 15:22:54 -0400 |
commit | d78051c92c568fa8a36b44d565955f3088069cf8 (patch) | |
tree | c49fee5e0c35ad1ce5f8fce845d50cf5f8dd3d34 | |
parent | ea47e03b360d0aeee10c1f7ef798f5750c2b1aa8 (diff) |
Add iOS UI Options
-rw-r--r-- | doc/classes/ProjectSettings.xml | 7 | ||||
-rw-r--r-- | main/main.cpp | 2 | ||||
-rw-r--r-- | platform/ios/view_controller.mm | 12 |
3 files changed, 19 insertions, 2 deletions
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 4b2bb3b6e9..0dc24345e9 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -565,6 +565,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 also [member display/window/size/transparent] and [member rendering/transparent_background]. </member> diff --git a/main/main.cpp b/main/main.cpp index 08a9b4c310..0f73bc7d1e 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -1808,6 +1808,8 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph "0,33200,1,or_greater")); // No negative numbers 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::FLOAT, diff --git a/platform/ios/view_controller.mm b/platform/ios/view_controller.mm index 43669d3f94..53c5d3d0b4 100644 --- a/platform/ios/view_controller.mm +++ b/platform/ios/view_controller.mm @@ -164,7 +164,11 @@ // MARK: Orientation - (UIRectEdge)preferredScreenEdgesDeferringSystemGestures { - return UIRectEdgeAll; + if (GLOBAL_GET("display/window/ios/suppress_ui_gesture")) { + return UIRectEdgeAll; + } else { + return UIRectEdgeNone; + } } - (BOOL)shouldAutorotate { @@ -206,7 +210,11 @@ } - (BOOL)prefersStatusBarHidden { - return YES; + if (GLOBAL_GET("display/window/ios/hide_status_bar")) { + return YES; + } else { + return NO; + } } - (BOOL)prefersHomeIndicatorAutoHidden { |