2008-12-17 97 views

回答

23

在上面的截圖中,有一個半透明的狀態欄和一個半透明的導航欄。

狀態欄使用

[[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleBlackTranslucent]; 

導航欄設置爲使用

theNavigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent; 
+0

如何隱藏頂部和底部的酒吧,如果它是視圖控制器中的uiwebview? – thndrkiss 2010-08-19 19:31:52

+1

這在iPhone Simulator 3.2上不適用於我。從Xcode文檔:「已棄用,使用'UIBarStyleBlack`並將半透明屬性設置爲'YES`。」這工作! :) – ma11hew28 2010-09-27 00:06:08

+0

當這寫的(2008年12月),這是正確的方式。當然,隨着時間的推移,API確實會改變。你的方法現在是正確的。 – August 2010-10-15 20:18:12

0

設置狀態欄樣式爲黑色半透明和導航欄樣式爲黑色半透明的設置。如果您使用的是基於導航的應用程序,請在MainWindow.xib中檢查狀態欄是否隱藏,導航欄是否隱藏複選框。

當用戶觸摸屏幕時,啓動計時器以查看這是單擊還是雙擊。如果單擊,使狀態欄和導航欄隱藏=否。一旦用戶活動停止,再次啓動計時器。在一段時間沒有活動之後,再次隱藏它們。

4

我想出的最佳方式是:當使用包含導航控制器的Tab欄的「複雜」層次結構時,一個「細節」視圖是全屏視圖。

在之前的標籤欄控制器的視圖添加到窗口應用程序的委託,我加了這一點:

tabBarController.view.frame = [[UIScreen mainScreen] bounds]; 

這將使標籤欄控制器覆蓋整個屏幕,甚至低於的區域狀態欄。我必須將幾個視圖的高度抵消到+ 20px,特別是導航欄。

45

只需在視圖控制器中設置「想要全屏佈局」。這爲我解決了這個問題。

self.wantsFullScreenLayout = YES; 
14

如果你有一個導航控制器內的視圖控制器,你要隱藏,纔能有你的viewController在全屏視圖的狀態欄,可以隨時撥打:

[self.navigationController.view setNeedsLayout]; 

後隱藏狀態欄。 但我個人認爲

[self setWantsFullScreenLayout:YES]; 

是一個更好的方法。

0

步驟1將UIViewControllerBasedStatusBarAppearance爲否在plist中

然後添加以下代碼中那樣完成啓動選項

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) { 

    [application setStatusBarStyle:UIStatusBarStyleLightContent]; 

    self.window.clipsToBounds =YES; 

    self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20); 
} 

請點擊此代碼,它爲我工作