我正在将我的应用程序从iOS 6移植到IOS 7(最终将为iOS 7进行完整的GUI重新设计,但同时只需在iOS 7上正确显示现有GUI即可。
我遇到状态栏与GUI重叠的问题,因此将视图控制器视图的Y原点向下移动了20个。
但是我的应用程序包含一个下拉列表,当收回时它与状态栏重叠。在屏幕截图中,红色是下拉视图中的按钮。灰色条是主视图的顶部,后面的部分下拉在收回时隐藏。
我将下拉作为主视图的固定大小子视图实现,当缩回时,其Y原点是负数,因此它实际上仍然显示但不在屏幕顶部。当用户将其拉下时,我只是为Y原点的增加设置动画,直到最终原点为0.
有什么方法可以让下拉视图出现在状态栏或其他快速解决方案下面吗? 注意当然我不能简单地切换下拉的alpha来显示/隐藏它,因为它显然下拉,因此它的出现/消失不是一个discreen动作。我可能会尝试使位于状态栏顶部的部分看不见但是因为它移动的东西似乎会变得复杂。有没有简单的解决方案?
由于
答案 0 :(得分:0)
在状态栏下添加另一个具有固定位置的视图(灰色条的颜色相同),高度为20像素,状态栏宽度相同,但z-index高于缩进视图。此视图将涵盖作为状态栏本身的“背景”的缩进视图(但不是状态栏)。显然你必须调整缩进视图的Y位置,使其可由用户点击(但在状态栏下)
答案 1 :(得分:-1)
iOS 7默认情况下允许视图占据整个屏幕,包括状态栏。这是使用UIRectEdgeAll属性控制的。
如果您想要旧样式视图,请为self.edgesForExtendedLayout设置UIRectEdgeNone
在viewDidLoad中:
self.edgesForExtendedLayout = UIRectEdgeNone;