推送 UITabBarController 导致 UITabBar 在 iOS 7 中的动画期间是透明的

Posted

技术标签:

【中文标题】推送 UITabBarController 导致 UITabBar 在 iOS 7 中的动画期间是透明的【英文标题】:Pushing UITabBarController causes UITabBar to be transparent during animation in iOS 7 【发布时间】:2013-09-30 07:37:19 【问题描述】:

我有一个 UIViewController,并且根据用户输入,我使用 push segue 将 UITabBarController 推送到导航堆栈。当推送动画时,UITabBar 变得透明。动画完成后,UITabBar 不再透明(想要的效果)。这仅在 ios 7 上发生,并且在弹出动画期间也会发生。

任何想法如何确保 UITabBar 在动画期间完全不透明?

【问题讨论】:

【参考方案1】:

尝试

[[[UIApplication sharedApplication] keyWindow] setRootViewController:tabBar];

而不是

[self.navigationController pushViewController:tabBar animated:YES];

在 navigationController 和 tabBarController 之间切换。

【讨论】:

这可行,但我可以通过在推动视图控制器时删除动画来达到相同的效果。 UITabBar 似乎仅在推送动画运行时是透明的。之后它又变得不透明了。

以上是关于推送 UITabBarController 导致 UITabBar 在 iOS 7 中的动画期间是透明的的主要内容,如果未能解决你的问题,请参考以下文章

如何防止通过推送 SFSafariViewController 解雇 UITabBarController?

从 UITabBarController 推送的 UISplitViewController

在 UITabBarController 的 UINavigationController 中推送 UIViewController

在推送的 UITabBarController 上设置徽章

在 UITabBarController 中推送 UINavigationController 时 UITableViewCell 消失

通过UITabBarController调用UIViewController进行推送