0

我需要在导航栏下方显示一个类似状态栏的薄视图,该视图滑入视图并在发生某些操作时滑回视线之前保持可见几秒钟。

对于任何给定的视图控制器,我可以很容易地做到这一点,方法是在需要出现/消失时适当地为其框架设置动画。

但是我有几个不同的视图控制器,我不想复制相同的代码来管理每个控制器中栏的外观。除了代码重复之外,我怀疑如果在更改控制器时该栏当前是可见的,则在控制器之间导航时会出现闪烁。

有哪些方法可以解决这个问题?

4

2 回答 2

1

在您的 appDelegate 中创建一个方法以将您的自定义视图添加到主窗口。这样,每当您触发显示自定义视图方法时,它将位于视图层次结构的顶部。

需要注意的一件事是,如果您的应用程序更改了方向,您必须为自定义视图手动更改它。

于 2012-08-13T15:49:48.223 回答
0

只需将其UIView在层次结构中向上移动即可。例如,将它放在您UINavigationController的 'ssuperview中,这样它将显示在 UINavigationController 的视图上方。

您可能需要将它放在前面,并可能UIView使用convertRect:toView:或类似的东西来转换这个“类似状态栏”的框架。

于 2012-08-13T15:47:18.170 回答