iOS - 关闭视图控制器后标签栏变为透明

Posted

技术标签:

【中文标题】iOS - 关闭视图控制器后标签栏变为透明【英文标题】:iOS - tab bar turns transparent after dismissing view controller 【发布时间】:2014-06-30 15:00:11 【问题描述】:

我在 ios 中使用标签栏控制器时遇到了一个奇怪的行为。我有一个带有 3 个选项卡的控制器,如下图所示:

以下问题仅发生在物理设备上,而不发生在模拟器上:当我在顶部显示视图控制器(模态)并再次将其关闭时,选项卡栏变为完全透明(非半透明)当且仅当它是在地图选项卡处于活动状态时显示。如果在显示视图控制器时列表或设置选项卡处于活动状态,那么在再次关闭该视图控制器后一切都会保持原样。

有没有人遇到过类似的行为?它是一个错误吗?还是我做错了什么?

感谢您的帮助。

【问题讨论】:

你是如何介绍 VC 的?您是否使用 [self.tabBarController presentViewController:vc animated:YES] 从选项卡控制器本身呈现? 【参考方案1】:

这仅在 iPhone 4 上吗?我只在 4s 上遇到过类似的错误。如果这是问题,有一个修复它。这是一个苹果虫。在标签控制器中尝试 viewDidAppear。

- (void)viewDidAppear:(BOOL)animated
[super viewDidAppear:animated];

//Stupid fix for iPhone 4 Tab bar background becoming invisible
    self.tabBar.translucent = NO;
    self.tabBar.translucent = YES;



这对我来说可以解决在 iPhone 4 上半透明标签栏上消失的背景

【讨论】:

谢谢,这是一种解决方法。不幸的是,人们仍然可以看到标签栏变得透明并且恢复正常,但我想没有其他办法。在 viewWillLoad 中调用它显然没有帮助。 Nope 必须在 viewDidAppear 中。这是一个苹果错误,因为透明度和 iPhone 4 不能很好地混合。我在任何地方都找不到真正的解决方案。比完全拧紧更好的固定和奇怪。 如果没有标签控制器视图控制器,你会把这个放在哪里?

以上是关于iOS - 关闭视图控制器后标签栏变为透明的主要内容,如果未能解决你的问题,请参考以下文章

切换回搜索栏处于活动状态时,选项卡栏视图变为空白

iOS 7 - 后退按钮后标签栏消失

使用标签栏关闭视图控制器后动画不会停止

关闭模态呈现的视图控制器后切换标签栏控制器视图控制器

iOS 7 状态栏透明

如何知道我之前在 iOS 中的标签栏视图控制器是哪个?