iPhone隐藏状态栏并恢复将导致视图的混乱布局

时间:2013-11-08 13:40:32

标签: ios iphone statusbar

该应用程序有一个TabController,它由4个子视图控制器控制。

由于我想在状态栏上设置消息,我必须在状态栏所在的位置创建UILabel并隐藏原始状态栏。为了使原始状态栏返回,我创建了一个计时器,当时间到期时,状态栏被取消隐藏,UILabel被删除。

假设我留在一个视图并设置消息。现在消息可以正常显示。在时间到期之前,我通过点击Tab Control切换到另一个视图。

现在问题出现了:UILabel消失了(此时,状态栏仍然没有回来)。只有选定的视图显示并占据UILabel刚刚覆盖的区域。

当时间到期时,状态栏会返回,但它不会推动应用程序重新组织视图和状态栏的布局。然后状态栏与视图重叠。

我想我可能不了解iOS中的视图组织规则。请帮忙赐教..

非常感谢

1 个答案:

答案 0 :(得分:0)

如果您希望UILabel保持在其他所有位置之上,请将其添加到窗口中。每个视图控制器的view都有一个window属性,可能是与标签栏控制器的所有视图控制器相同的窗口。

[self.view.window addSubview:messageLabel];