Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-26837

iOS: "extendSafeArea" false should not allow status bar to overlap content on iOS 10 and older

    Details

      Description

      Summary:
      When setting Ti.UI.Window property "extendSafeArea" to false, Titanium will layout the windows content so that it lies within the bounds of the device's insets (such as iPhoneX's notch, home indicator, and rounded corners). This prevents the window's content from being overlapped.

      On iOS 11 and higher, the top translucent status bar is considered a top inset and Titanium will prevent it from overlapping the window's content. On iOS 10 and older OS versions, the top status bar overlaps the window's content

      This is an inconsistency. The idea behind setting "extendSafeArea" to false is to avoid having the Titanium app developer from laying-out the UI themselves via "safeAreaPadding" to avoid overlap... as well as avoid as making assumptions about the top status bar height and hard-coding the value to "20dp".

      Steps to reproduce:

      1. Build and run the below code on iOS 10.
      2. Notice that the app's label is overlapped by the top status bar.
      3. Run the same app on iOS 11.
      4. Notice that the app's label is below the status bar. It is not overlapped.

      var window = Ti.UI.createWindow({
      	layout: "vertical",
      	extendSafeArea: false,
      });
      window.add(Ti.UI.createLabel({ text: "Hello World" }));
      window.open();
      

      Result on iOS 10:

      Result on iOS 11:

        Attachments

          Activity

            People

            • Assignee:
              vijaysingh Vijay Singh
              Reporter:
              jquick Joshua Quick
              Reviewer:
              Jan Vennemann
              Tester:
              Samir Mohammed
            • Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Backbone Issue Sync

                • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                  Git Integration