0
我有一個UIViewController
子類,當前顯示一個狀態欄。在viewDidLoad
我把以下內容:Dsiplaying狀態欄,然後將其隱藏在按鈕上按
[self setNeedsStatusBarAppearanceUpdate];
然後,我還實施了這一說法:
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
當用戶點擊一個按鈕,我認爲那是顯示我已經創建了一個UIView
子類的方法。所有的方法都是告訴子類將它的alpha
屬性設置爲1,這樣它就會出現在屏幕上。
我的問題是,我想隱藏狀態欄,只要我顯示這個UIView
子類。
我已經打過電話的控制器和視圖子類以下兩個:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
狀態欄從不隱藏。很顯然,我不能用常規的方法,如以下,因爲那會完全隱藏在控制器中的狀態欄,我只希望它隱藏,當我顯示的視圖子類:
- (BOOL)prefersStatusBarHidden {
return YES;
}
如何任何想法我可以做到這一點?順便說一句,我用nib文件來表示UIViewController
和UIView
。
這是一個偉大的想法,和一個我已經上如果沒有其他被張貼實施計劃。我想我認爲我正在通過這種方式來解決問題,並且可能有一種方法可以讓它完美地工作。 – user3344977 2014-10-16 22:17:34
那麼,你可以製作一個UIViewController的自定義子類,併爲所有繼承它的視圖控制器實現這個功能,或者你甚至可以創建一個類,你可以使用objc運行時添加屬性,然後重寫setter和getters(這樣你就可以仍然讓你的類繼承自UIViewController)。但我同意,他們都看起來有點hacky,真的沒有「單線」/簡單的解決方案:) – 2014-10-16 22:21:29
您的解決方案是最容易實施,最有意義。乾杯! – user3344977 2014-10-16 22:22:39