2013年10月4日 星期五

ios7 status bar 隱藏 hide

ios7對於 狀態列有很大的改變

舊的程式碼為
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];

不過在ios7中這個方法已經無法work了

解決方法1.

到infor.plist中 加入 key: UIViewControllerBasedStatusBarAppearance
設置為no

這樣就告訴系統說 status bar 不依賴 UIViewcontroller.

解決方法2.

- (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; //UIStatusBarStyleDefault = 0 黑色文字,浅色背景时使用 //UIStatusBarStyleLightContent = 1 白色文字,深色背景时使用 }
上面的code是控制顯示時的樣式,下面的code是控制是否顯示status bar

調用以下的code 會觸發上面的code
- (BOOL)prefersStatusBarHidden { return NO; //返回NO表示要显示,返回YES将hiden }



[self setNeedsStatusBarAppearanceUpdate];

如果想加入動畫如下:

[UIView animateWithDuration:0.5 animations:^{ [self setNeedsStatusBarAppearanceUpdate]; }];


參考文獻:http://www.ifun.cc/blog/2013/09/28/ios7yin-cang-status-bar/

0 意見:

張貼留言