是否可以轻松显示视图控制器更改时保持可见的视图?

时间:2012-08-13 15:36:50

标签: ios

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

对于任何给定的视图控制器,我可以通过在需要显示/消失时适当地设置动画帧来轻松完成此操作。

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

有什么方法可以解决这个问题?

2 个答案:

答案 0 :(得分:1)

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

需要注意的一点是,如果您的应用更改了方向,则必须手动更改自定义视图。

答案 1 :(得分:0)

只需在层次结构中向上移动UIView即可。例如,将它放在UINavigationController的{​​{1}}中,这样它就会显示在UINavigationController的视图上方。

您可能需要将其置于最前面,并可能使用convertRect:toView:或类似内容转换此“状态栏”superview的框架。