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 - 关闭视图控制器后标签栏变为透明的主要内容,如果未能解决你的问题,请参考以下文章