4

隐藏状态栏时有没有办法避免状态栏的白色背景?

当我隐藏它以显示全屏模式视图(带有导航栏)时,状态栏会在模式视图出现之前从黑色变为白色。

我觉得这让人分心。我希望状态栏保持不变,而模态视图移动到位。至少让它变成黑色会很好。

因此,我可以很好地隐藏状态栏,并显示一个没有状态栏的模式视图。我只是不希望在模态视图到位之前发生淡入淡出。

在显示模式视图时,我设法隐藏了状态栏,并且可以使用以下方式以编程方式执行此操作:

    [[UIApplication sharedApplication] setStatusBarHidden:YES
                                            withAnimation:UIStatusBarAnimationFade];

或者在 Interface Builder 中设置“全屏”。我可以通过在 viewWillDisappear 中使用“NO”调用此方法来重新显示状态栏。它工作正常。

我还必须在 plist 中设置“状态栏最初隐藏”,然后在应用加载时将其设置为不隐藏,并将上述调用设置为“否”。

关于如何做到这一点的任何想法?谢谢。

更新:我发现我可以在模态视图出现后使用动画隐藏状态栏,如下所示:

    [UIView animateWithDuration:0.8 animations:^(void)
     {
         [[UIApplication sharedApplication] setStatusBarHidden:YES];
     }];

这不那么烦人了,但是现在状态栏在模态视图就位时消失并且仍然不理想。我希望在状态栏上显示模态视图。实际上,多看几次它看起来还不错,甚至可能看起来很酷:-)

4

0 回答 0