0

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

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

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

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

时间到了,状态栏又回来了,但并没有推动应用重新组织视图和状态栏的布局。然后状态栏与视图重叠。

我想我可能不明白 iOS 中的视图组织规则。请帮助启发我..

非常感谢

4

1 回答 1

0

如果您希望 aUILabel高于其他所有内容,请将其添加到窗口中。每个视图控制器view都有一个window属性,大概是标签栏控制器的所有视图控制器的同一个窗口。

[self.view.window addSubview:messageLabel]; 
于 2013-11-08T22:03:48.403 回答