當有額外的屏幕(最多2個)時,我創建一個新窗口。每個窗口在不同的屏幕上顯示不同的內容。外部顯示窗口影響主屏幕
問題出在iOS7下:創建並顯示該外部窗口使狀態欄在第一個窗口中可見,這也是主窗口。然後,系統添加一些空間(20點)來重新排列頂部欄和一些視圖。它不適合我,因爲它是一個自定義欄。
爲什麼會發生這種情況,我該如何阻止系統添加狀態欄?
這是有問題的代碼:
- (void) handleScreenConnectNotification:(NSNotification*)notification
{
NSLog(@"screens=%@ _secondWindow = %@",[UIScreen screens], _secondWindow);
if ([[UIScreen screens] count] > 1) {
// Associate the window with the second screen.
// The main screen is always at index 0.
UIScreen * secondScreen = [[UIScreen screens] objectAtIndex:1];
CGRect screenBounds = secondScreen.bounds;
_secondWindow = [[UIWindow alloc] initWithFrame:screenBounds];
_secondWindow.screen = secondScreen;
_secondWindow.hidden = NO;
}
}
我曾試圖改變_secondWindow的框架,以更小的面積。不解決問題。
要處理的狀態欄,應用程序配置這樣 根據應用屬性列表:查看基於控制器的狀態欄外觀= YES
我添加爲每個視圖此代碼,我不希望顯示在狀態欄:
- (BOOL)prefersStatusBarHidden
{
return YES;
}
謝謝兄弟!訣竅是設置UIStatusBarHidden = true – subzero