iPhone UINavigationController:仅为视图的一部分设置动画

时间:2011-02-05 18:29:35

标签: iphone uinavigationcontroller

我有一个UINavigationController,包含(从上到下)UINavigationBar,UIImageView和UITableView。我将在堆栈中推送的每个视图在同一个地方包含相同的UIImageView(这是一个徽标)。

我希望徽标保持在UINavigationBar下方,当我推/弹视图时没有动画。 有可能吗?

由于

1 个答案:

答案 0 :(得分:0)

我能想到实现这一目标的唯一方法是将徽标图像视图直接添加到应用代理中的主窗口。将其定位,使其直接显示在导航栏下方。然后,您必须设置视图控制器视图的背景颜色以清除并确保opaque属性设置为NO。调整视图大小并设置自动调整遮罩,使其固定在屏幕底部(或标签栏或底部工具栏的顶部)。

基本上,您需要设置视图控制器的视图,使视图顶部的一部分完全透明。如果是这种情况,则直接添加到主窗口的徽标图像视图将始终可见。使用导航控制器在视图控制器之间推送或弹出时,只需确保每个视图控制器的视图都设置为在徽标图像视图显示的右上角透明。即使导航控制器为过渡设置动画,视图顶部的透明度也应仅显示动画视图的不透明部分,以及导航栏及其子视图。

希望这是有道理的。

更新:根据Noah Witherspoon的评论,更好的方法可能只是将您的图片徽标视图添加为导航控制器视图的子视图。您仍然需要调整视图控制器的视图大小,以便它们的内容不会被您的徽标图像视图遮挡,但这种方法整体上更加清晰。