2017-08-03 145 views
0

方案的UITabBarController与相同视图控制器在不同的标签

  1. 我们在应用程序标签栏控制器。

  2. 只有一个视图控制器对于StatusBar具有不同的颜色样式,我们称之为视图控制器VC1

  3. 所以我添加了逻辑VC1,viewWillAppear设置想要的StatusBar Color,viewWillDisappear重置默认的StatusBar Color。

问题: 大部分的时间,不同的标签有不同的视图控制器,这是没有状态栏颜色变化的问题。

但在一个情况下,我将有两个选项卡显示VC1,在这种情况下,当我切换标签viewWillAppear中接到电话第一,这意味着复位状态栏风格后来接到电话,所以在切换选项卡后,StatusBar Color是错误的。

有没有办法解决这个问题?在这种情况下,视图控制器的生命周期似乎是错误的。

回答

0

UITabBarControllerDelegate。使用它,您可以根据选择哪个选项卡来执行操作 - 例如更改StatsBar的颜色 - 而不是在VC内部执行操作。

当您想要 增强标签栏的行为时,使用UITabBarControllerDelegate协议。特别是,您可以将其用于 ,以确定是应该选择特定选项卡,还是在选择选项卡后执行操作 ,或者在 用户自定义选项卡的顺序之前或之后执行操作。

裁判:https://developer.apple.com/documentation/uikit/uitabbarcontrollerdelegate

+0

我明白你的想法,它应该工作,但我必须做出特定的逻辑上,因为风格视图控制器不是简单地依赖于唯一标签。 –

相关问题