This set of properties allows the developer to expand the controls defined in the layout.
iPhone X has introduced three main features compared with the previous version of this device.
- The notch on the middle top of the screen where the camera and other hardware resides.
- The home indicator, a thin bar on the middle bottom of the screen that replaces the home button.
- Rounded corners on the screen.
Consequently, the unsafe area concept has been enhanced compared to previous versions of the iPhone and has become more significant when the developer designs an application. In the following examples, the unsafe area will be displayed in green color.
Before the iPhone X, there only existed one unsafe area defined by the status bar (when the application bar is invisible) as shown below. In GeneXus, the only mechanism for expanding the displayed content beyond the status bar was setting Enable Header Row Pattern property.
Portrait |
Landscape |
|
|
After the iPhone X, the addition of the notch and the replacement of the home button by the home indicator has introduced new unsafe areas that developers must consider when developing their apps. More specifically, there is a new unsafe area at the bottom of the screen (where the home indicator is displayed), and two other unsafe areas on the sides of the screen when the device is in landscape mode (where the notch is located and rounded corners became significant). In such conditions, enabling the Header Row pattern is not enough.
Portrait |
Landscape |
|
|
To avoid the above problem, GeneXus has introduced this set of properties, enabling the developer to safely expand the content beyond the unsafe areas, significantly improving the UX provided in the generated applications. In the following example, the content is displayed by using a Grid control with Control Type = SD Maps and we hide the application bar (Layout Behavior properties have default values).
Portrait |
Landscape |
|
|
- Default values for this set of properties introduce a breaking change (for the better) on the application's look. Up to GeneXus 15 Upgrade 7, the content is not expanded (like None value behavior) leaving margins on unsafe areas, which is an undesired layout design for the iPhone X. As of Upgrade 8, the content will be expanded by default to fill the entire screen area.
This properties group is available as of GeneXus 15 Upgrade 8.
Controls: Grid control, Tab control, Canvas control, Table control
Platforms: Smart Devices(IOS)