ios7中让程序使用统一的status bar风格
生活随笔
收集整理的這篇文章主要介紹了
ios7中让程序使用统一的status bar风格
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
狀態欄
在iOS7中,狀態欄是透明的,就是說,狀態欄只有文字沒有背景。
這個改動讓我頗為意外,因為一直印象中蘋果很care狀態欄的,之前也曾聽說過有應用因為遮擋了狀態欄而被Appstore拒絕。
而且蘋果之前狀態欄提供的三種樣式都是以深色底白色字呈現,保證了狀態欄的內容清晰易讀。
而變透明之后就很容易和后面的內容混淆,雖說一般應用不會把內容和狀態欄疊合在一起,但是至少,現在的情況是,默認是會疊合的,開發需要從20px像素以下開始布局頁面元素才能避免。
蘋果為了讓深色淺色背景均能讓狀態欄內容清晰顯示,提供兩種狀態欄樣式:
UIStatusBarStyleDefault = 0 黑色文字,淺色背景時使用
UIStatusBarStyleLightContent = 1 白色文字,深色背景時使用
而以下兩個舊狀態欄樣式將被廢棄:
UIStatusBarStyleBlackTranslucent = 1
UIStatusBarStyleLightContent = 2
還有,iOS7中我們通過ViewController重載方法返回枚舉值的方法來控制狀態欄的隱藏和樣式。
首先,需要在Info.plist配置文件中,增加鍵:UIViewControllerBasedStatusBarAppearance,并設置為YES;
然后,在UIViewController子類中實現以下兩個方法:
- (UIStatusBarStyle)preferredStatusBarStyle
{
? ? return UIStatusBarStyleLightContent;
}
- (BOOL)prefersStatusBarHidden
{
? ? return NO;
}
最后,在需要刷新狀態欄樣式的時候,調用[self setNeedsStatusBarAppearanceUpdate]方法即可刷新,若果需要以動畫形式切換狀態欄樣式,則用以下方式調用即可:
[UIView animateWithDuration:0. animations:^{
? ? [self setNeedsStatusBarAppearanceUpdate];
}];
在iOS7中,狀態欄是透明的,就是說,狀態欄只有文字沒有背景。
這個改動讓我頗為意外,因為一直印象中蘋果很care狀態欄的,之前也曾聽說過有應用因為遮擋了狀態欄而被Appstore拒絕。
而且蘋果之前狀態欄提供的三種樣式都是以深色底白色字呈現,保證了狀態欄的內容清晰易讀。
而變透明之后就很容易和后面的內容混淆,雖說一般應用不會把內容和狀態欄疊合在一起,但是至少,現在的情況是,默認是會疊合的,開發需要從20px像素以下開始布局頁面元素才能避免。
蘋果為了讓深色淺色背景均能讓狀態欄內容清晰顯示,提供兩種狀態欄樣式:
UIStatusBarStyleDefault = 0 黑色文字,淺色背景時使用
UIStatusBarStyleLightContent = 1 白色文字,深色背景時使用
而以下兩個舊狀態欄樣式將被廢棄:
UIStatusBarStyleBlackTranslucent = 1
UIStatusBarStyleLightContent = 2
還有,iOS7中我們通過ViewController重載方法返回枚舉值的方法來控制狀態欄的隱藏和樣式。
首先,需要在Info.plist配置文件中,增加鍵:UIViewControllerBasedStatusBarAppearance,并設置為YES;
然后,在UIViewController子類中實現以下兩個方法:
- (UIStatusBarStyle)preferredStatusBarStyle
{
? ? return UIStatusBarStyleLightContent;
}
- (BOOL)prefersStatusBarHidden
{
? ? return NO;
}
最后,在需要刷新狀態欄樣式的時候,調用[self setNeedsStatusBarAppearanceUpdate]方法即可刷新,若果需要以動畫形式切換狀態欄樣式,則用以下方式調用即可:
[UIView animateWithDuration:0. animations:^{
? ? [self setNeedsStatusBarAppearanceUpdate];
}];
總結
以上是生活随笔為你收集整理的ios7中让程序使用统一的status bar风格的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: s8个人单双隐藏分查询
- 下一篇: Certificates, Identi