2012-05-08 43 views
0

我有一个大小提示的导航栏。当推送到目的地segue时,在父级的导航栏中设置我的图像,将navbar有效地渲染为子级的默认值。我该如何停止这个动画并保留小孩的导航栏的大小和默认样式?当推动segue时停止动画导航栏

+0

或者干脆在推后删除孩子中的图像? – ruelluna

+0

什么是**大小**提示?你为什么要防止动画? – Abizern

+0

我有一个“带提示的导航栏”。这是74的高度。当我将视图切换到子视图时,它将动画变为44.(从字面上看动画 - 移动到44的大小)。 – ruelluna

回答

1

执行navigationBar定制在

-(void) viewWillAppear:(BOOL)animated 

要重置的变化,你可以返回默认的子视图viewWillAppear或根视图

-(void) viewWillDisappear:(BOOL)animated 

一个更好的选择取决于navigationBar设置你所需要的。

+0

我已经得到它..如何切换到视图时可以摆脱动画? – ruelluna

+0

取决于您使用的是“UINavigationController”还是使用'setPrompt:',您可以增加'navigationBar'框架,添加子视图'UILabel'并使用'UINavigationControllerDelegate'或'UINavigationBarDelegate'对动作进行push/pop操作独立的'UINavigationBar'。我没有示例显示,但它必须是一个搜索周围的方向。 –

+0

“UINavigationController”的另一个解决方案是隐藏它的'UINavigationBar'并将你自己的'UINavigationBar'子视图添加到'UIApplication'实例'keyWindow'中。这不会使用任何导航控制器动画进行动画,并且您需要自己准备所有动画,请小心使用此方法,并且不要忘记,您希望带来与标准“动画”相同的用户体验, UINavigationController'实现。 –