是否可以将动画插入到切换视图时显示的 UITabBarController 中?
我有一个自定义的 UITabBarController,我希望它在按下 TabBarItem 时滑出旧视图并滑入新视图。我查看了 UITabBarControllerDelegate 但它只是让我决定视图是否显示而不是如何显示(通过 shouldSelectViewController)。 有办法做到这一点吗?
(我的目标是拥有一个在所有 4 个视图上看起来几乎相同的星空背景。它应该看起来像项目发生了变化,背景只是滚动了一点)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
子类
UITabBarController
并使其成为自己的委托。现在,您可以拦截诸如tabBarController:shouldSelectViewController:
之类的方法并操作已添加到选项卡栏的任何自定义视图。如果您将星空添加到选项卡栏视图,然后使用具有半透明视图的选项卡控制器,则公共背景可以显示出来。您甚至可以直接拦截选项卡栏控制器方法,例如
setSelectedIndex:
,以获得更多控制权,让您淡出内容。但只要确保在执行此操作时在某个时刻调用该方法的 super 版本,以便选项卡栏保持功能即可。Subclass
UITabBarController
and make it it's own delegate. Now you can intercept methods liketabBarController: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 thesuper
version of the method at some point if you do this so the tab bar remains functional.