2015-03-10 29 views
7

Durum çubuğu & gezinme çubuklarıyla ilgili bir sorunla karşılaşıyorum. Varsayılan olarak UINavigationController gezinme çubuğu durum çubuğunun arkasına uzanır ve renklendirir (soldaki ekran görüntüsü).Sahte Durum Çubuğu Gezinme Çubuğu gizlendiğinde renk

Arama çubuğu kullanıldığında, gezinme çubuğunu gizlerim. Bu, renklenmemiş bir Durum Çubuğu ile sonuçlanır. Apple'ın Mail uygulamasının bu sorunu yok.

Arka plan rengine sahip ayrı bir UIView oluşturup durum çubuğunun arkasına yerleştirmekten başka bir çözüm var mı?

Image that shows hidden and not-hidden navigation bar, and how this affects the status bar color

Burada başarmak istediğim bu:

enter image description here

+1

araştırma ile tanımlanan

** 'UIBarPositioningDelegate' @Desdenova öneriye – Desdenova

+0

sayesinde, benim sorununu gideren, http://stackoverflow.com/a/18897105/3512120 bulundu ve lutfen olasılıkla senin. – joels

cevap

0

Eğer siz de UIStatusBar görünümünü güncelleştirmek niye NavigationBar gizlediğinizde.

-(UIStatusBarStyle)preferredStatusBarStyle{ 
    //Have an if statement to determine which UIStatusBarStyle to return, i.e if the navigationBar is hidden 
    return UIStatusBarStyleLightContent; 
} 

Ve bu kullanarak navigasyon çubuğunu gizlemek zaman diyoruz:

sizin NavigationController bu işlevi uygulamak

: Başka bir seçenek takip yapmaktır

[self setNeedsStatusBarAppearanceUpdate]; 

Bilgi pList dosyanızdaki UIViewControllerBasedStatusBarAppearance değerini NO olarak ayarlayın. Sonra (programlama yoluyla veya)

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 
0
sizin IB

arayabilir, üst çubukta için simüle ölçümlerini kontrol etmek deneyin: Eğer (gezinti çubuğu) saydam için opak onu koymalıdır.

Not: Varsayılan olarak, gezinti çubuğu yarı saydamdır. ücretsiz için "renkli" ** durum çubuğunu almalısınız. UISearchBar.appearance().barTintColor

İlgili konular