Soru Durum çubuğunu iOS 7'de programlı olarak nasıl gizleyebilirim?


İçinde , nasıl gizleyebilirim  programlı? Ben kullanıyorum XCode 4.6.1 () ve bunu XCode'un kendisinde uygulamak istiyorum.


34
2017-09-28 14:14


Menşei




Cevaplar:


iOS7'de viewController uygulamasında uygulamanız gerekir

- (BOOL)prefersStatusBarHidden {
    return YES;
}

72
2017-09-28 22:05





Durum çubuğunu, "Denetleyiciye dayalı durum çubuğu görünümünü görüntüle" anahtar değerini PIYI olarak ayarlamak için gizleyebilirsiniz. Bu en kolay yol.

veya UIApplication sınıfının property statusBarHidden özelliğini kullanarak kod içinde gizleyebilirsiniz.

[[UIApplication sharedApplication] setStatusBarHidden:YES];

Swift 3.0

Belirli bir görünüm denetleyicisi için durum çubuğunu gizle

override var prefersStatusBarHidden: Bool {
    get {
        return true
    }
}

Uygulama genelinde Durum basını gizle

UIApplication.shared.isStatusBarHidden = true

ve projenin bilgi plânında "Denetleyiciye dayalı durum çubuğu görünümü" NO değerini tuşlayın.


30
2017-09-28 15:14



Bu iOS 7'de çalışmaz. Doğru cevap @ kullanıcı2826529 - Vibhor Goyal
Benim için çalışıyor. Plisteki bahsi geçen mülkü uygun şekilde ayarladığınızdan emin olun. - groomsy
En iyi çözüm. Yukarıdaki her şeyi unut. Apple çok karmaşık yaptı. - Teddy


- (void)viewDidLoad
{
    [super viewDidLoad];
    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
    {
        [self prefersStatusBarHidden];
        [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
    }
    else
    {
        // iOS 6
        [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
    }
}

// Add this method
- (BOOL)prefersStatusBarHidden {
    return YES;
}

18
2017-09-29 06:03



Benim için işe yaramadı. Bunu aynısını kullandım ama durum çubuğu her zaman gösterildi. Lütfen yardım et.. - Magesh
XCode 4.6.1 (iOS 6.1) kullanıyorum. - Magesh
[[UIApplication sharedApplication] setStatusBarHidden :Animation ile YES: UIStatusBarAnimationSlide]; Bu çalışır ve durum çubuğunu gizleyebilirsiniz info.plist bir özellik var. - user2826529
Durum çubuğunu gizledikten sonra nasıl tekrar gösterilebilir? Çünkü durum çubuğunun görünür durumunu programlı olarak değiştirmek istiyorum. - echo
Seçiciyi gerçekleştirmeye gerek yoktur. - Andras Hatvani


Belirli bir ViewController için gizlemek (ve sonra tekrar açmak) View controller-based status bar appearance ayarlanır NO:

-(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
}

-(void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
}

5
2018-06-01 18:20





Belirli bir görüntü denetleyicisinde dinamik olarak gizlemeniz / göstermeniz gerekiyorsa, bunun gibi bir şey yapabilirsiniz.

(Sadece kullanmama rağmen - (BOOL)prefersStatusBarHidden değiştirmek için ihtiyacınız yoksa tercihinizi döndürmek için.)

// view controller header 
@interface MyViewController : UIViewController  {
    BOOL shouldHideStatusBar;
}
@end


@implementation

- (BOOL)prefersStatusBarHidden {
    return shouldHideStatusBar; // backed by your instance variable
}

- (void)setPrefersStatusBarHidden:(BOOL)hidden {
    shouldHideStatusBar = hidden;

    // Don't call this on iOS 6 or it will crash since the 
    // `setNeedsStatusBarAppearanceUpdate` method doesn't exist
    [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];

    // [self setNeedsStatusBarAppearanceUpdate]; // (if Xcode 5, use this)
}

@end

2
2018-01-02 20:15





İOS> 7.0 durumunda aşağıdaki kodu kullanın:

Sözdizimi:

// Present in UIViewController of UIKit Frameworks
- (BOOL)prefersStatusBarHidden NS_AVAILABLE_IOS(7_0); // Defaults to NO

Kullanımı:

- (BOOL)prefersStatusBarHidden {
    return YES;
}

İOS'ta <7.0 aşağıdaki kodu kullanın:

Sözdizimi:

// Present in UIApplication of UIKit Frameworks
- (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation NS_AVAILABLE_IOS(3_2);

Kullanımı:

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

1
2018-02-07 12:20





Bunu dene

[[UIApplication sharedApplication] setStatusBarHidden:YES];

0
2018-03-07 10:54





Birisi bunu yapmak için en güncel yolu isterse (Swift 2.1 ve en yeni Xcode 7.2)

  1. "Denetleyici tabanlı durum çubuğu görünümünü, info.plist'inizdeki NO'ya göster" seçeneğini ayarlayın.

  2. UIApplication.sharedApplication (). StatusBarHidden = true // app delegesini bir yere yerleştirme (applicationWill veya DidFinishLaunchingWithOptions:


0
2017-12-18 21:15





Benim deneyimim, hem kod hem de iOS 9 / Xcode 7.3'teki info.plist dosyasındaki değere ihtiyacınız olmasıdır.

Bunu senin için ekle viewDidLoad yöntem.

[[UIApplication sharedApplication] setStatusBarHidden:YES];

Bunu info.plist dosyasına boole değeri olarak ekleyin ve NO olarak ayarlayın:

View controller-based status bar appearance

0
2017-08-19 16:48





İOS 9.0+ ve Swift kullanıyorsanız. Bazı görüntüleme denetleyicilerinde gizli olan durum çubuğuna sahip olmak istiyorsanız, ancak hepsinden emin değilseniz, View controller-based status bar appearance değeri Info.plist ayarlanır YES Diğer tüm kontrolörlerde aynı parametreler kullanılacaktır.

Ve geçersiz kıl prefersStatusBarHidden alt sınıfında UIViewController

override var prefersStatusBarHidden: Bool {
    get {
        return true
    }
}

Değiştirmek için benzer yapılabilir preferredStatusBarStyle

override var preferredStatusBarStyle: UIStatusBarStyle {
    get {
        return .lightContent
    }
}

0
2018-03-21 13:00