5

我一直在环顾四周,似乎答案是否定的,但是帖子已经过时了,所以我想知道这是否已经改变。是否可以将状态栏设置为半透明?我正在尝试对多点触控点击进行淡入/淡出效果,但状态栏一直显示为纯黑色。

谢谢!

-- 编辑 -- 我用于事件转换的代码如下。我在 -info.plist 中将状态栏设置为半透明,但我注意到 IB 中没有黑色半透明设置(这可能是我的回答:除非你是 Apple,否则没有半透明状态栏。)

-(IBAction)showOptions:(id)sender
{
if ([UIApplication sharedApplication].statusBarHidden == YES) {
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
    [UIView beginAnimations:@"fadeIn" context:nil];
    [UIView setAnimationDuration:0.25];
    [UIView setAnimationCurve:UIViewAnimationCurveLinear];
    optionsView_portrait.alpha = 0.5;
    [UIView commitAnimations];
}
else
{
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
    [UIView beginAnimations:@"fadeOut" context:nil];
    [UIView setAnimationDuration:0.25];
    [UIView setAnimationCurve:UIViewAnimationCurveLinear];
    optionsView_portrait.alpha = 0.0;
    [UIView commitAnimations];
}
}
4

2 回答 2

14

设置状态栏样式UIApplication

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

状态栏为半透明的视图控制器的视图也应占据 320 x 480 点的整个屏幕尺寸。这样,视图在状态栏的下方,前 20 个像素中的任何内容都将在状态栏下半可见。

如果您的视图中没有任何部分占据前 20 个像素,它将在下面显示为黑色。

编辑:如果您正在使用 iPad,正如 Steven Fisher 指出的那样,iPad 不支持具有半透明黑色状态栏。它总是纯黑色。

于 2010-12-08T23:31:17.543 回答
2

像这样的东西?

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackTranslucent;
于 2010-12-08T23:24:15.647 回答