Recently Apache released Flex SDK 4.11 and Adobe release AIR 3.9. I currently have Flex/AIR mobile applications released for iOS in the app store that were compiled pre iOS7, and when iOS 7 was released my applications in their current state had no issues installing or running on the new operating system from Apple. As with every release of Flex/AIR though I test out how the application compiles, and with AIR 3.9 I noticed a big change.
The iOS status bar was now transparent, and was overlaying the header bar causing it to appear on top of the header text and nav buttons. I was not upset by this because this is something I wanted to do as this is how all the apps designed for iOS7 worked and I thought I would not be able to match using Flex/AIR. There has been some developers lashing out at ADOBE and FLEX in the forums calling this a bug, however I am not one of those developers. I am happy we now can match iOS7 design aesthetics using Flex/AIR, and with having to support multiple platforms/ devices I understand it is going to take some code.
To get it to work properly requires some configuration in your application. First you need to figure out what color you need the status indicator text to be. It defaults to black and on most interfaces unless your header is white - gray will be hard to see. So white works for most cases and to set this to white you need to do the following in your apps application xml in the iPhone InfoAdditions section.
This will set your status bar text to white.
The next step is to now push the header content down to make space for the status indicator. I was able to do this by adding padding to the top of the Action Bar.
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
Adding this padding pushes the header down, and that is all you have to do. Keep in mind this will only address this issue for iOS7, so if you plan on supporting other platforms you will need to put in some conditional logic to check the device version and operating system to adjust your configuration to make sure on each platform your app displays as desired.