2010-12-08 155 views
5

我一直在環顧四周,它的答案似乎不是,但帖子是過時的,所以我想知道這是否改變了。是否可以將狀態欄設置爲半透明?我試圖在多點觸控上點擊淡入/淡出效果,但狀態欄一直呈現爲純黑色。半透明狀態欄(iPhone/iPad/iPod Touch)

謝謝!編輯 - 我用於事件轉換的代碼如下。我已經設置了狀態欄在-info.plist半透明,但我注意到有一個在IB沒有黑色半透明的設置(這可能是我的回答:沒有半透明狀態欄,除非你是蘋果)

-(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]; 
} 
} 

回答

2

喜歡的東西這個?

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackTranslucent; 
+0

不幸的不是。我正在使用[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];這似乎忽略了任何風格設置,以支持黑色不透明。 :( – Eric 2010-12-08 23:32:41

14

設置的UIApplication狀態欄樣式:

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

視圖控制器在狀態欄半透明還應480分佔據了320的整個屏幕尺寸的視圖。通過這種方式,視圖在狀態欄下方顯示,前20個像素中的任何內容都將在狀態欄下半透明。

如果您的視圖中沒有任何部分佔據前20個像素,則它將顯示爲下方的黑色。

編輯:如果您正在使用iPad,正如Steven Fisher指出iPad不支持半透明黑色狀態欄。它總是黑色。

+0

是的,一切都設置好了,這樣一旦我能夠讓它變成半透明的,它就會有內容。不幸的是,這種方法並沒有做任何事情,我注意到你提到320×480的尺寸,關於iPhone/iPod Touch,我還沒有在應用程序的那部分工作,因爲主要(可能只有)設備使用這個是iPad。 – Eric 2010-12-09 00:29:39

相關問題