狀態欄
狀態欄顯示了關于設備和當前環境的重要信息(像iPhone上那樣)。
狀態欄:
- 是透明的
- 當呈現的時候,總是出現在屏幕的頂部邊緣
API NOTE
你可以對整個app全局設置狀態欄風格或者對單獨的視圖控制器設置狀態欄風格。你可以查看UIApplication Class Reference獲取關于UIStatusBarStyle常量的信息,查看UIViewController Class Reference獲取關于preferredStatusBarStyle屬性的信息。
不要創建自定義的狀態欄。用戶依賴一致的系統提供的狀態欄。即使你可能在你的app中隱藏狀態欄,在它的位置創建自定義的UI也是不合適的。
防止滾動內容在狀態欄顯示。當用戶滾動時,你不想他們在狀態欄區域看到一個app內容和狀態欄元素混淆的內容。為了給用戶一種寬敞的印象并保持最大的可讀性,確保狀態欄有一個下方模糊的內容組成的背景。這里是一些保持滾動內容不顯示在狀態欄的方式:
- 使用導航控制器來顯示內容。導航控制器自動顯示一個狀態欄背景并且確保它的內容視圖不會在狀態欄的后面顯示。(查看Navigation Controllers學習更多關于導航控制器的內容。)
- 創建一個不干擾的自定義圖片——例如漸變的——并且在狀態欄后面顯示它。為了確保圖片保持在狀態欄后面,你可以使用一個視圖控制器來保持圖片在滾動視圖的上方,或者使用一個滾動視圖來保持它置頂。
- 定位內容從而避免出現在狀態欄區域(也就是說,由app的statusBarFrame屬性定義區域)。如果你這樣做,你應該使用窗口的背景色來在狀態欄后方提供一個實心的顏色。
不要在狀態欄后面放置有干擾性的內容。尤其是,你不會想暗示用戶點擊狀態欄來連接你app的內容或操作你app的控件。
永久地隱藏狀態欄之前要三思。因為狀態欄是透明的,通常不需要隱藏它。長久地隱藏狀態欄意味著用戶必須切換出你的app來查看時間或者確認他們是否連上了WiFi。
考慮隱藏狀態欄——和所有其他app的UI——當用戶正在觀看全屏視頻時。如果你隱藏狀態欄,確保讓人們能通過一個簡單的觸摸回復它(和合適的被隱藏的appUI)。除非你有不得已的愿意去做,否則不要定義一個自定義的手勢來重新顯示狀態欄,因為用戶不太可能發現它和記住它。
選擇和你的app協調的狀態欄內容色。默認的外觀顯示深色的內容,這在淺色的app內容上方會看上去很好。而淺色狀態欄內容會在深色app內容上方看上去很好。
合適的話,顯示網絡活動指示器。網絡活動指示器會在狀態欄顯示來告訴用戶漫長的網絡連接正在發生。查看Network Activity Indicator來學習如何在你的代碼中實現這個指示器。
本文翻譯自蘋果官方文檔