91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS狀態欄的顯示與隱藏的示例代碼

發布時間:2020-10-06 15:35:58 來源:腳本之家 閱讀:154 作者:Peter0065 欄目:移動開發

今天設計師跑來問iOS狀態欄的問題,由于之前沒有整理,只能“我確認下給你回復”,確認得有點久,略尷尬。。。好記性不如爛筆頭,希望能養成整理做筆記的好習慣。那么,閑話少說, 讓我們進入正題。

我們使用xcode新建一個 iOS工程 ,默認情況下狀態欄是顯示的。

iOS狀態欄的顯示與隱藏的示例代碼 

隱藏某個控制器的狀態欄

最簡單地隱藏方法就是使用下面這段代碼:

- (BOOL)prefersStatusBarHidden {
  returnYES;
}

全局隱藏狀態欄

上面代碼確實隱藏了對應控制器的狀態欄,但是多數情況下我們的項目里面有很多控制器,如此一個個設置就略顯蛋疼,我們可以進行全局設置。注釋掉上面代碼,在 AppdelegatedidFinishLaunchingWithOptions 里面添加如下代碼,并運行。

[[UIApplicationsharedApplication] setStatusBarHidden:YES];

結果有點尷尬,狀態欄還在。。打開 info.plist 找到參數

View controller-based status bar appearance

顧名思義,該參數決定我們項目狀態欄的顯隱藏是否以各控制器的設置為準(各自為政或統一管理)。將其設置為NO,再次運行。嗯,這次是我們想要的結果了。這時候如果注釋掉 [[UIApplicationsharedApplication] setStatusBarHidden:YES]; 回到最初的 prefersStatusBarHidden 方案,你會發現狀態欄隱藏無效了,因為這個時候我們項目的狀態欄服從統一管理,具體控制器的配置對其無效。

隱藏啟動頁狀態欄

眼尖的同學可能會發現在我們設置了 [[UIApplication sharedApplication] setStatusBarHidden:YES]View controller-based status bar appearance -> NO 之后app展示啟動頁的過程中狀態欄仍然顯示著。額。。。其實也對,因為我們在 didFinishLaunchingWithOptions 才去設置隱藏的嘛。那么如何隱藏啟動過程的狀態欄呢?再次打開 info.plist ,這次我們找到 Status bar is initially hidden 再次顧名思義。。。你懂的,將其設置為YES,然后運行,Bingo! 狀態欄見鬼去吧。�在沒有進行對應設置的前提下,啟動頁展示過程中狀態欄的顯隱和啟動后狀態欄的顯隱是相對獨立的。關于啟動后狀態欄的顯隱的設置參照上面:point_up_2:兩點哈。默認情況下,若沒有進行任何代碼設置,在 View controller-based status bar appearance -> YES時,啟動后的狀態欄默認顯示,否則將跟隨 Status bar is initially hidden 狀態。

全局隱藏情境下的個別展示

那么,問題來了,如果我們通過全局設置隱藏了狀態欄,而項目中又有個別一兩個控制偏偏器要秀一下狀態欄這怎么搞?

這種情況下就需要“宏觀調控”了,“全局”的坑還得“全局”來填,我們可以在對應要隱藏的控制器里面的 viewWillAppear 方法內設置 [[UIApplicationsharedApplication] setStatusBarHidden:YES] ,當然為了不影響我們其他的控制器狀態欄展示,應該在 viewWillDisappear 內將其置為進入前的狀態 [[UIApplicationsharedApplication] setStatusBarHidden:<#before status#>] ;

總結:

View controller-based status bar appearance 控制App狀態欄顯隱接受全局配置(NO)或者各控制器各自配置(YES)。 [[UIApplicationsharedApplication]setStatusBarHidden:hidden] ,必須在 View controller-based status bar appearance == NO 條件下才能生效。相應的 prefersStatusBarHidden 為局部配置項,控制對應控制器狀態欄顯隱,必須在 View controller-based status bar appearance == YES 才生效。 設置 Status bar is initially hidden -> YES 可以隱藏啟動頁展示過程的狀態欄。

demo

今天就到這吧,趕緊跟設計師交差。有什么錯誤和缺漏歡迎指正,補充。( _ )/

PS: 感謝哇丶啦咔咔的糾正哈,文中相應的錯誤與不當描述已經更正,啟動頁展示過程中狀態欄的顯隱是相對獨立的,主要取決于 Status bar is initially hidden 的設置。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凯里市| 安仁县| 昆明市| 沅江市| 吕梁市| 当涂县| 彭阳县| 钟山县| 大同县| 长丰县| 阳西县| 介休市| 大连市| 福清市| 巴彦县| 涞源县| 闸北区| 长宁区| 凤阳县| 武城县| 固镇县| 广宗县| 河曲县| 堆龙德庆县| 洛南县| 崇阳县| 通化市| 蒲城县| 上林县| 平遥县| 宁乡县| 临漳县| 潢川县| 汽车| 于都县| 吴忠市| 黎川县| 沙坪坝区| 库伦旗| 新安县| 宁陕县|