Подтвердить что ты не робот

Как скрыть строку состояния в iOS?

Я могу скрыть строку состояния в своем приложении:

- (void)viewDidLoad{
    [[UIApplication sharedApplication] setStatusBarHidden:YES];
    [super viewDidLoad];
    }

Когда я выбрал образ запуска и запустил его в первый раз, это строка состояния над изображением. Как я могу скрыть это?

4b9b3361

Ответ 1

Добавьте следующий код в контроллер вида:

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

- (BOOL)prefersStatusBarHidden {
    return YES;
}

Ответ 2

Вам нужно добавить этот код в файл AppDelegate, а не в контроллер Root View

Или добавьте свойство Строка состояния изначально скрыта в вашем файле plist

enter image description here

Люди, в iOS 7+

пожалуйста, добавьте это в ваш файл info.plist, это будет иметь значение :)

UIStatusBarHidden UIViewControllerBasedStatusBarAppearance

enter image description here

Для iOS 11. 4+ и Xcode 9.4 +

Используйте этот код в одном или во всех ваших контроллерах вида

переопределить var prefersStatusBarHidden: Bool {      вернуть истину}

Ответ 3

Что мне помогло, это (изменение файла plist):

  • set Строка состояния изначально скрыта = YES
  • добавить строку: Просмотреть статусную строку состояния контроллера = NO

Hide StatusBar - plist settings

Ответ 4

Поместите этот код в контроллер вида, в котором вы скрываете строку состояния:

- (BOOL)prefersStatusBarHidden {return YES;}

Ответ 5

В строке состояния состояния iOS 7 по умолчанию используется UIViewController. Чтобы скрыть строку состояния глобально, в info.plist используйте значение NO для ключа UIViewControllerBasedStatusBarAppearance и используйте метод UIApplication setStatusBarHidden со значением YES BOOL.

Ответ 6

добавьте этот ключевой ключ из выпадающего списка в "info.plist" и вуаля, вы больше не увидите верхнюю панель, которая включает элементы, такие как GSM, значок Wi-Fi и т.д.
enter image description here

Ответ 7

Это работает для меня,

Добавьте приведенный ниже код в файл info.plist,

 <key>UIStatusBarHidden</key>
 <false/>
 <key>UIViewControllerBasedStatusBarAppearance</key>
 <false/>

Надеюсь, что это работа для кого-то.

Ответ 8

В info.plist

View controller-based status bar appearance NO
Status bar is initially hidden YES

В view controller.m

- (BOOL) prefersStatusBarHidden
{
    return YES;
}

Ответ 9

Я поддерживаю iOS 5, 6 и 7. Мое приложение - только iPad. Мне нужно было использовать все следующие:

[[UIApplication sharedApplication] setStatusBarHidden:YES];

Контроллер просмотра:

- (BOOL)prefersStatusBarHidden{ return YES; }

Info.plist

    <key>UIStatusBarHidden</key>
    <string>YES</string>

    <key>UIStatusBarHidden~ipad</key>
    <true/>

    <key>UIViewControllerBasedStatusBarAppearance</key>
    <string>NO</string>

Ответ 10

Просто установите флажок в разделе Информация о развертывании iPad/Summary, и строка состояния исчезнет. Он работает в моих приложениях.

Ответ 11

У меня была такая же проблема, но ее легко исправить! Просто установите

status bar is initially hidden = YES

затем добавьте строку, щелкнув по плюсу сразу после текста status bar is initially hidden, затем установите текст в

view controller-based status bar appearance

щелкнув стрелки, и установите его на NO

Надеюсь, это поможет!

Ответ 12

Ну, самый простой способ сделать это - ввести следующее в файл .m.

- (BOOL) prefersStatusBarHidden
{
    return YES;
}

Это должно сработать!

Ответ 13

-(void) viewWillAppear:(BOOL)animated
{
     [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}

Ответ 14

Полное решение в быстром, на ваш взгляд контроллере

// you can use your own logic to determine if you need to hide status bar
// I just put a var here for now
var hideStatusBar = false
override func preferStatusBarHidden() -> Bool {
    return hideStatus
}


// in other method to manually toggle status bar
func updateUI() {
    hideStatusBar = true
    // call this method to update status bar
    prefersStatusBarHidden()
}

Ответ 15

Чтобы скрыть панель состояния для каждого отдельного контроллера просмотра, используйте любую из следующих двух процедур:

Процедура 1:

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

Процедура 2:

- (BOOL) prefersStatusBarHidden {

       return YES;

}

Чтобы скрыть строку состояния для всего приложения, мы должны выполнить следующую процедуру:

Вы должны добавить это значение в plist: "Просмотреть статус панели управления на основе контроллера" и установить его "НЕТ".

Нажмите здесь, чтобы посмотреть скриншот