2013-08-30 119 views
12

我越來越沮喪!狀態欄仍顯示

我已經嘗試每一個生活在可能我的應用程序的頂部擺脫UIStatusBar的...

我曾嘗試:

  • 在IB

    設置狀態欄爲「無」
  • 運行[[UIApplication sharedApplication] setStatusBarHidden:YES];在應用程序啓動和在每個場景。

  • 要去的.plist和更改啓動時隱藏狀態欄值:YES

  • 設置的主頁上相同的數值目標

  • 在應用程序委託

    設置- (BOOL)prefersStatusBarHidden { return YES; }

字面上沒有該作品......它仍然顯示了所有的我的意見,這是令人沮喪的SUPER

再次感謝:)

附註:我在Xcode 5,開發者測試版的iOS 7測試版6,但是這也發生在我的舊iOS6的和Xcode的4個應用

+0

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];從http://stackoverflow.com/questions/5709123/ios-4-3-hide-status-bar-permanently \ – iPatel

+0

如果你看到我的帖子,我已經嘗試過,但謝謝你的建議:) – tyler53

+0

你可以還要添加「查看基於控制器的狀態欄外觀」,並將其設置爲「NO」,如下所示: http:// stackoverflow。com/questions/17763719/status-bar-wont-disappear – jsherk

回答

20

請試試這個

//viewDidload 
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { 
    // iOS 7 
    [self prefersStatusBarHidden]; 
    [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)]; 
} else { 
    // iOS 6 
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; 
} 


// Add this Method 
- (BOOL)prefersStatusBarHidden 
{ 
return YES; 
} 

該代碼已採取從this link

+0

是每個類中的bool方法,或者appdelegate – tyler53

+0

在你的rootViewController中實現此方法,在rootViewController中實現它是全局的 –

+0

我沒有根視圖控制器,我有應用程序委託,然後是我的一個視圖的視圖控制器,但這是一個SKSprite項目,所以它沒有填充根視圖控制器 – tyler53

4

你需要一個方法添加到視圖控制器,和而不是寫入應用程序委託。

- (BOOL)prefersStatusBarHidden 
{ 
    return YES; 
} 
+0

謝謝,適合我。 – 2014-01-06 11:50:20

15

我通常做的是將兩個鍵值屬性添加到Info.plist文件。

enter image description here

屬性的源代碼是:

enter image description here

+2

每個人都沒有強調的一件事是「基於視圖控制器的狀態欄外觀」是一個BOOLEAN值。 礦被設置爲字符串,我幾乎撕毀我的頭髮。 – n00bProgrammer

+2

你真的應該避免禁用基於視圖控制器的狀態欄外觀。這只是一個兼容性選項,當開發人員沒有時間或無法實現新的方式時,可以使舊應用程序在iOS 7下工作。 – lhunath

2

至於什麼發生在我!

爲別人,, Make sure you are modifying the info.plist in the right *TARGET* :/

加上公認的答案。