В моем iOS-приложении строка состояния видео скрыта в некоторых контроллерах вида. Я сделал это, используя следующий код.
[[UIApplication sharedApplication] setStatusBarHidden:YES];
Это работает для iOS 5 и iOS 6, но не в iOS 7.
Я пытался с этим, в частности, посмотреть контроллер,
Например:
-(BOOL)prefersStatusBarHidden { return YES; }
Это работает хорошо, но я не могу снова показать строку состояния в родительском контроллере представления.
Ответы:
Вы должны добавить это значение в plist: « Просмотреть внешний вид строки состояния на основе контроллера » и установить « NO ».
источник
UIViewControllerBasedStatusBarAppearance
"View controller-based status bar appearance" set it to "YES".
?Добавьте следующее в ваш Info.plist:
источник
Добавьте следующую строку в viewdidload
и добавить новый метод
также измените файл info.plist Просмотр внешнего вида строки состояния контроллера "= НЕТ
это работает для меня
источник
prefersStatusBarHidden
это то, что сработало для меня (будь то с этим решением с другими подобными)В Plist добавить следующие свойства.
теперь строка состояния будет скрыта.
источник
Попробуйте этот простой метод:
Objective-C:
Swift:
источник
UIStatusBarAnimation
s, они довольно хороши.[super viewWillAppear:animated]
и[super viewWillDisappear:animated]
Я сделал следующее, и это похоже на работу (даже в iOS 8):
источник
Но становится интереснее, когда задействован UINavigationController:
источник
Чтобы скрыть строку состояния в iOS7, вам нужно 2 строки кода
в приложении: (UIApplication *) приложение didFinishLaunchingWithOptions: (NSDictionary *) launchOptions write
в info.plist добавить это
источник
Для лучшего понимания добавьте несколько фотографий с комментариями:
Приложение перед любыми изменениями
Найденный в вашей
Project Navigator
папке с именемSupporting Files
и нажмите на * .plist файлПосле того, как вы получите различные настройки вашего приложения, показанные. Вам нужно добавить 2 ключа
UIStatusBarHidden
иUIViewControllerBasedStatusBarAppearance
. Вы можете сделать это, просто нажав на кнопку +После нажатия + вы можете выбрать одну из клавиш - просто начните печатать.
Правильная версия:
И, наконец, приложение после применения этих изменений:
Также вы можете найти альтернативное решение здесь
источник
В iOS10 все, что мне нужно было сделать, это переопределить переменную
prefersStatusBarHidden
в моемRootViewController
(Swift):источник
Попробуй это;
источник
Чтобы скрыть строку состояния в iOS7:
Откройте ваш plist-файл, затем добавьте строку с названием «Просмотр внешнего вида строки состояния на основе контроллера» и установите для нее значение
NO
.источник
Вот версия Swift (до iOS9):
Это также работает (iOS7 +):
Вам также необходимо позвонить:
в скажем
viewDidLoad()
.Обратите внимание, что если вы используете контроллер SplitView или другой
container
контроллер представления, вам также нужно, чтобы он возвращал ваш класс при его отправкеchildViewControllerForStatusBarHidden
. Один из способов сделать это - иметь публичную слабую переменную, скажемstatusController
, и вернуть ее в этом переопределенном методе.источник
iOS 9 и более поздних версий:
Поскольку
statusBarHidden
метод был устаревшим с iOS9, вам нужно добавить два значения в plist, как показано ниже:или по интерфейсу пользователя Пожалуйста, обновите изображение ниже:
Как
statusBarHidden
это Устаревшие из iOS9 :источник
ИСПРАВЛЕННОЕ РЕШЕНИЕ ДЛЯ SWIFT 3+ (iOS 9, 10)
1- В info.plist указан ниже свойства
2- Вставьте приведенный ниже код в корневой контроллер, чтобы
Можете позвонить
isStatusBarHidden = true
иisStatusBarHidden = false
куда хотите вhide/show
статус баристочник
Вы должны добавить это значение в plist: «Просмотреть внешний вид строки состояния на основе контроллера» и установить «NO».
источник
Шаги для скрытия строки состояния в iOS
1. Откройте файл AppDelegate.m , добавьте application.statusBarHidden в методе didFinishLaunchingWithOptions
View controller-based status bar appearance
устанавливатьNO
источник
Swift 5
Используйте следующие шаги, чтобы скрыть строку состояния iOS:
Скриншот окончательных настроек:
Это работает на Xcode 10.2
источник
От
UIKit
>UIApplication.h
:Так что следует установить
View controller-based status bar appearance
на НЕТисточник
Чтобы ответить на вопрос Суситы : используйте setNeedsStatusBarAppearanceUpdate . Это вызовет prefersStatusBarHidden для обновления с желаемым состоянием строки состояния. Попробуй это:
Если вы хотите снова увидеть строку состояния, установите для вашего свойства hideStatusBar (или как вы его называете) значение NO. Вызовите ПредпочитаемыйСтатусБар скрытый косвенным путем, сделав еще один вызов
источник
Обновление для Swift 3:
Обновите Info.plist следующей информацией:
View controller-based status bar appearance: NO
Затем в ViewController или в другом месте:
UIApplication.shared.isStatusBarHidden = true
источник