2014-10-15 26 views
8

Gezinme çubuğu oluşturmak için hikaye panosu kullanıyorum.Durum Çubuğunu gizle ve UINavigationBar'ın yüksekliğini artırın

Koşulum, durum çubuğunu gizlemek ve Gezinme çubuğunun yüksekliğini artırmak. Durum çubuğunu gizlediğimde, gezinti çubuğu üst üste yapışıyor ve yükseklik 44 px. Gezinti çubuğu yüksekliğine 64 px (44px + durum çubuğu yüksekliği) olarak ihtiyacım var. Bunu yapmanın bir yolu var mı? durum çubuğunda ile

durum çubuğunda olmadan

enter image description here Without Status bar

+0

Merhaba, düzenlenmiş cevabımı kontrol et. iyi çalışıyor. –

cevap

7

başlamak için, gizlemek senin statusBar takiben bu adımlarla:

Öncelikle koymak bu kod viewWillAppear yılında :

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; 

İkincisi, aşağıda görüntü gösterir gibi info.plist dosyayı ayarlayın:

enter image description here

Ardından, UINavigationBar bir Category yapabilir ve içinde navigaionBar yüksekliğini ayarlayın.

.h dosyasında Amaç-c

@interface UINavigationBar (Custom) 
- (CGSize)sizeThatFits:(CGSize)size ; 

ve

@implementation UINavigationBar (Custom) 

- (CGSize)sizeThatFits:(CGSize)size { 
    CGFloat width = [UIScreen mainScreen].bounds.size.width; 
    CGSize newSize = CGSizeMake(width, 100); 
    return newSize; 
} 

Swift .m dosyasında

extension UINavigationBar { 
    public override func sizeThatFits(size: CGSize) -> CGSize { 
     let width = UIScreen.mainScreen().bounds.width 
     let newSize = CGSize(width: width, height: 64) 
     return newSize 
    } 
} 
+0

teşekkürler. Bu fikri düşündüm. ama tüm görüş kontrollerini tüm görüntü denetimlerinde y konumunu 64px'e ayarlamanız mı gerekiyor? –

+0

allView değil, sadece Gezinme Alt görünümü. –

+0

görünümü nereye ayırmalıyım? viewdidload çalışmıyor –

İlgili konular