4

我正在尝试使用 UIView 动画将状态栏样式从UIStatusBarStyleDefaultContent转换为UIStatusBarStyleLightContent,但是,样式只是在没有淡入淡出动画的情况下切换。我认为使用以下设置样式会起作用:

[UIView animateWithDuration:1.0
                      delay:0.0
                    options:UIViewAnimationOptionCurveEaseInOut
                 animations:^{
                     [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
                     [self.view layoutIfNeeded];
                 } completion:nil];

我不知道如何得到我想要发生的事情。基本上,我的内容从暗变为亮,所以我需要更改状态栏颜色。默认情况下,它不会按我想要的方式工作。任何帮助深表感谢。

谢谢!

4

2 回答 2

6

这就是它的完成方式。

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];

这是UIApplication 类参考

希望这会对某人有所帮助。

于 2013-11-10T14:36:25.560 回答
1

我怀疑你不能做你想做的事。

文档说调用 setStatusBarStyle 时的动画是幻灯片动画:

statusBarStyle 状态栏的当前样式。

@property(nonatomic) UIStatusBarStyle statusBarStyle 讨论该属性的值是一个 UIStatusBarStyle 常量,表示状态的样式。默认样式是 UIStatusBarStyleDefault。动画将状态栏滑出旧方向并将其滑入新方向。

于 2013-10-16T02:34:54.600 回答