是否可以将动画插入到切换视图时显示的 UITabBarController 中?

发布于 2024-08-22 08:20:43 字数 231 浏览 6 评论 0 原文

我有一个自定义的 UITabBarController,我希望它在按下 TabBarItem 时滑出旧视图并滑入新视图。我查看了 UITabBarControllerDelegate 但它只是让我决定视图是否显示而不是如何显示(通过 shouldSelectViewController)。 有办法做到这一点吗?

(我的目标是拥有一个在所有 4 个视图上看起来几乎相同的星空背景。它应该看起来像项目发生了变化,背景只是滚动了一点)

I have a custom UITabBarController and I want it to slide out the old view and slide in the new view whenever a TabBarItem gets pressed. I looked at UITabBarControllerDelegate but it just offers me to decide if the view gets displayed not how (via shouldSelectViewController).
Is there a way to do that?

(My goal is to have a starfield background that looks almost the same on all the 4 views. It should look like the items get changed and the background just scrolls by a little)

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

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

发布评论

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

评论(1

﹂绝世的画 2024-08-29 08:20:43

子类 UITabBarController 并使其成为自己的委托。现在,您可以拦截诸如 tabBarController:shouldSelectViewController: 之类的方法并操作已添加到选项卡栏的任何自定义视图。如果您将星空添加到选项卡栏视图,然后使用具有半透明视图的选项卡控制器,则公共背景可以显示出来。

您甚至可以直接拦截选项卡栏控制器方法,例如 setSelectedIndex: ,以获得更多控制权,让您淡出内容。但只要确保在执行此操作时在某个时刻调用该方法的 super 版本,以便选项卡栏保持功能即可。

Subclass UITabBarController and make it it's own delegate. Now you can intercept methods like tabBarController:shouldSelectViewController: and manipulate any custom views you have added to the tab bar. And if you add your starfield to the tab bar view, and then use tab controllers that have translucent views the common background can show through.

And you can even intercept tab bar controller methods directly like setSelectedIndex: to have even more control to let you fade things out. But just make sure that you call the super version of the method at some point if you do this so the tab bar remains functional.

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