2013-12-10 111 views
0

在我的應用程序中,我不打算顯示狀態欄。所以,我的應用程序覆蓋整個屏幕視圖。我可以管理做插入狀態欄隱藏,但視圖在橫向模式下被移位

- (BOOL) prefersStatusBarHidden{ 
    return YES; 
} 

方法在我的主要的viewController,也加入到我的應用程序委託

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

這一切運作良好,當我在人像模式下打開的應用程序。但是,在橫向模式下打開狀態欄時,我會在視圖頂部看到背景圖像的黑色帶。事實上,我的觀點被狀態欄高度的高度垂直偏移(見下圖)。

這不會發生,如果我先在縱向模式下打開應用程序,然後旋轉。所以,我做錯了什麼在我以爲視圖框的初始化,這是我在平時

CGRect screenRect = [[UIScreen mainScreen] applicationFrame];  
    [self.view setFrame:screenRect]; 

任何建議在做這將非常感激。 由於提前, 尼基爾

enter image description here

回答

0

我似乎已經解決了這一問題(至少目前如此)。我沒有在info-plist修正的選項

enter image description here

我討厭這樣。要做一個單一的設置,必須添加很多東西,在不同的地方也是如此:一個在appDelegate中,另一個在主視圖控制器中,另一個完全在代碼之外:(。