creators of native ios apps do have the ability to force the statusbar to behave in the 'old' way (opaque and not overlaying the app) and i'm sure i've read somewhere that adobe are working on a fix for this in the air player.... so an sdk change may not be necessary.

perhaps alex could confirm (or refute) this?

On 03/11/2013 20:13, Maurice Amsellem wrote:
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


--
Lee Burrows
ActionScripter

Reply via email to