在UINavigationController中显示/隐藏UIToolbar,而不会在推/弹转换期间留下间隙

时间:2011-06-14 17:05:28

标签: iphone uinavigationbar uitoolbar

我有一个带有两个UIViewControllers的UINavigationController。其中一个ViewController隐藏了UIToolbar(来自UINavigationController的默认UIToolbar),另一个显示它。当我将带有UIToolbar的ViewController推送到没有UIToolbar的ViewController时,会发生以下情况:

UIToolbar从底部向上滑动并填充新ViewController中的黑色间隙。这非常难看,因为您可以看到黑色背景,这与其他背景不同,动画应理想地镜像导航栏动画(从右向左滑动)。当我弹出ViewController时会发生相反的情况(将UIToolbar向下滑动到底部并在弹出的ViewController中留下黑色间隙)

我希望这是有道理的。我只是想让UIToolbar镜像导航栏动画(从左到右(弹出)和从右到左(推))。

我在这里做过研究,但找不到满意的答案。是否有可能使默认的UIToolbar以我描述的方式运行,或者是否真的有必要创建一个自定义UIToolbar并将其添加到ViewController(这似乎不太合乎逻辑,因为有一个非常好的可用的)。 / p>

感谢您的考虑!

此致 IVO

1 个答案:

答案 0 :(得分:0)

当您打开工具栏时,请确保将其设置为不动画。

[[self navigationController] setToolbarHidden:NO animated:NO]; 

我在viewController的viewWillAppear中执行此操作,似乎可以正常工作。