我的应用程序如何在iPhone状态栏上绘制?

4
今天我完成了我的应用程序的第一个版本,可以在iPhone上运行。当我这样做时,我发现它会覆盖屏幕顶部的状态栏区域,但是状态栏也会被绘制,导致两者混合在一起。
我尝试将构建的“隐藏状态栏”属性设置为true,但结果相同。
我真正想要的是,我的应用程序应该保留状态栏,绘制到它,但不要绘制到状态栏的位置。
在Codenameone中,我该如何实现这一点?
1个回答

4

iOS 7及以上版本要求你的应用程序在状态栏下面绘制,这是苹果公司的设计选择,作为开发人员,你应该为状态栏留出空间。

iOS上默认的本地主题有一个名为StatusBar的UIID样式,它填充了顶部,但如果你选择删除includeNative主题常量或删除该填充,则不能按预期工作。


那么,如果我使用includeNative = false,那么我必须留出一些空间吗?有没有办法知道需要多少空间? - Fredrik Ferm
另外,我使用主题的标题功能为所有屏幕提供一个头部图片(正如你在另一个stackoverflow问题中回答给我的)。如果我需要在那里为状态栏留出一些空间,有没有办法让标题区域的大小变大,以便同时容纳图片和空间? - Fredrik Ferm
我们留下了3毫米,您可以在样式中进行配置或使用Display.convertToPixels方法。我不记得那个问题,但通常您可以在其上方添加一个元素,在非iOS平台上它将具有0大小,并在iOS上以您想要的方式填充空间。请注意,我们建议使用includeNative=true来隐藏此类问题... - Shai Almog
好的,现在我正在尝试使用includeNative=true,这似乎是可以的。但我仍然有一个问题。每个屏幕背景的样式都有一个背景颜色。标题图片上方的区域被涂成白色。我能否将其设置为透明,以便iPhone状态栏可以覆盖我的背景颜色? - Fredrik Ferm
通过将TitleArea UIID的边框设置为空、透明度为0或设置其颜色来样式化它。 - Shai Almog

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接