在 UINavigationController 中显示/隐藏 UIToolbar,在推送/弹出转换期间不留间隙

发布于 2024-11-15 13:12:41 字数 633 浏览 2 评论 0原文

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

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

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

我在这里对 SO 进行了研究,但找不到令人满意的答案。是否可以使默认 UIToolbar 以我所描述的方式运行,或者是否确实有必要创建一个自定义 UIToolbar 并将其添加到 ViewController(这似乎不太符合逻辑,因为有一个非常好的现成可用)。

感谢您的考虑!

问候, 伊沃

I have a UINavigationController with two UIViewControllers. One of the ViewController hides the UIToolbar (the default UIToolbar from the UINavigationController) the other shows it. When I push the ViewController with the UIToolbar onto the ViewController without the UIToolbar the following happens:

The UIToolbar slides up from the bottom and fills a black gap in the new ViewController. This is very ugly since you can see the black background, which is different from the rest and the animation should ideally mirror the navigationbar animation (slide from right to left). When I pop the ViewController the opposite happens (hiding the UIToolbar slides down to the bottom and leaves a black gap in the popped ViewController)

I hope this makes sense. I just want the UIToolbar to mirror the navigationbar animation (slide from left to right (pop) and right to left (push) ).

I've done research here on SO but couldn't find a satisfactory answer. Is it possible to make the default UIToolbar behave in the manner I described or is it really necessary to create a custom UIToolbar and add it to the ViewController (which doesn't seem very logical since there is a perfectly good one readily available).

Thanks for you consideration!

Regards,
Ivo

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄风 2024-11-22 13:12:41

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

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

我在视图控制器的 viewWillAppear 中执行此操作,它似乎可以正常完成工作。

when you turn on the toolbar, make sure to set it to not animate.

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

I do this in my viewWillAppear of my viewcontroller, and it seems to do the job ok.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文