0

我正在将我的应用程序从 iOS 6 移植到 IOS 7(最终将对 iOS 7 进行完整的 GUI 重新设计,但同时让现有的 GUI 在 iOS 7 上正确显示是目标。

我遇到了状态栏与我的 GUI 重叠的问题,因此将视图控制器视图的 Y 原点向下移动了 20。

但是,我的应用程序包含一个下拉菜单,当它被收回时与状态栏重叠。在屏幕截图中,红色是下拉视图中的一个按钮。灰色条是主视图的顶部,缩回时隐藏了一部分下拉菜单。 在此处输入图像描述

我将下拉实现为主视图的固定大小的子视图,当缩回时,它的 Y 原点是负数,因此它仍然有效地显示但不在屏幕顶部。当用户将其拉下时,我只是为 Y 原点的增加设置动画,直到最终原点为 0。

有什么方法可以让下拉视图出现在状态栏或其他快速解决方案的下方?当然请注意,我不能简单地切换下拉的 alpha 以显示/隐藏它,因为它显然会下拉,因此它的出现/消失不是双屏操作。我可能会尝试使状态栏顶部的部分不可见,但由于它正在移动,因此它看起来会很复杂。有没有简单的解决方案?

谢谢

4

2 回答 2

0

在状态栏下方添加另一个固定位置的视图(与灰色栏颜色相同),高度为 20 像素,与状态栏的宽度相同,但 z-index 高于缩回视图。此视图将覆盖作为状态栏本身的“背景”的缩回视图(但不包括状态栏)。显然,您必须调整缩回视图的 Y 位置以使其可被用户点击(但在状态栏下方)

于 2013-10-18T08:02:17.397 回答
-1

iOS 7 默认让视图占据全屏,包括状态栏。这是使用 UIRectEdgeAll 属性控制的。

如果您想要旧样式视图,请为 self.edgesForExtendedLayout 设置 UIRectEdgeNone

在 viewDidLoad 中:

self.edgesForExtendedLayout = UIRectEdgeNone;
于 2013-10-17T17:48:20.133 回答