Hi Team, iOS7 manages the status bar differently than iOS 6.1: application is displayed in full screen and the status bar is displayed on top of the app, either in black or white font color (depending on some setting).
Current flex apps running on iOS7 will have the status bar partly covering the top navigation bar buttons and text. The usual workaround is to increase ActionBar paddingTop to remove the overlap. (see : https://issues.apache.org/jira/browse/FLEX-33860) I would like to discuss the different approaches for a permanent fix of this issue in the Flex SDK. There are two points to discuss: how to provide room for the status bar, and how to determine/control when to do it: Point #1: how to provide room for the status Bar: Option 1) increase the top ActionBar paddingTop, to leave space for the status bar. Note that the top padding must be applied to the top ActionBar only, not to the other ActionBars. This is easy for ViewNavigatorApplication, but not obvious when the ActionBar(s) are added indirectly, for example through SplitViewNavigator. This could be done eg. by testing the ActionBar stage y, and add the padding if < 10 Option 2) modify the various mobile ApplicationSkin classes (ApplicaitonSkin, TabbedViewNavigatorApplicationSkin, ViewNavigatorApplicationSkin) to leave 20 px space for the status bar. This space could be filled with application background color, instead of being black. ---- Point #2: How to determine when to add the top padding: Option 1) - Dynamically determine that application is running on iOS7 (based on Capabilities.version and Capabilities.os) - Size the padding top accordingly ( set if IOS7, not set if not IOS7) ⇨ Simple, but not flexible. Option 2) - Introduce a new numerical os-version @media selector Eg. @media (application-dpi: 160) AND (os-platform:"IOS") AND (os-version >= 7) { statusBarHeight: 20; } Pros: opens up new possilibilities, for example to provide iOS7 specific skins. Cons: much more difficult to implement. _____ What do you think ? Maurice