2014-11-20 28 views
6

Benzer sorulara verilen tüm çözümlere baktığımda, statusBar'u bir dokunma hareketiyle göster/gizlemeye çalışıyorum.Durum çubuğunu kullanarak bir sayfanın durum çubuğunu nasıl gösterebilirim/gizleyebilirim (iOS8/Swift)

Plist'e View controller-based status bar appearance = NO'u ayarladık.

benim DataViewController (sayfa görünümü denetleyicisi) aşağıdaki kodu denedim VE RootViewController yılında:

let app = UIApplication.sharedApplication() 
app.setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.Fade) 

ve çalışmıyor.

Bu, UITabBarController içine gömülmüş, bu bir fark yaratır mı?

Ayrıca, elde edebildi RootViewController den StatusBar gizlemek için aşağıdaki: hatta bu işlevi çağırmaz

override func prefersStatusBarHidden() -> Bool { 
    return true 
} 

Ama DataViewController, ve oldukça kalıcı bu şekilde gizlemek için sadece başardı Açmak/kapatmak için.

Herhangi bir fikrin var mı?

+0

Bu işe yaramalı, 'setStatusBarHidden' çağıran yöntemin çağrıldığından emin misiniz? –

+0

kırılma noktası oraya çarptı, evet. –

cevap

3

Kodda denedim, her şey benim için iyi çalışıyor. View controller-based status bar appearance'un NO'a ayarlandığından emin olun. Ve prefersStatusBarHidden()'u geçersiz kılmaya gerek yoktur. Eğer UIPageViewController kullanıyorsanız

+0

Bir dokunma hareketinde durum çubuğunu göster/gizlemek istiyorum, bu sadece tamamen gizlenmeyecek mi? –

+0

Üzgünüz, sorunuzun yanlış anlaşılması. Kodumu denedim ve her şey iyi çalışıyor. Lütfen güncellenmiş yanıtıma bakın. – liuyaodong

+0

Bunu nereye çağırıyorsun? DataViewController içinde? veya RootViewController? –

0

sonra size bir navigationController varsa ViewDidLoad()

self.navigationController?.hidesBarsOnTap = true

üzerinde çok

bunu gizler RootViewController

bu kodu kullanmak ve bu yöntemi kullanmalısınız navigationBar

'nın gizlenip gizlenmediğine bağlı olarak durum çubuğunu gizlemek veya göstermek için
override func prefersStatusBarHidden() -> Bool { 
     if self.navigationController?.navigationBarHidden == true { 
      return true 
     } 
     else 
     { 
      return false 
     } 
    } 
İlgili konular