Как скрыть строку состояния в iOS?
Я могу скрыть строку состояния в моем приложении:
- (void)viewDidLoad{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
[super viewDidLoad];
}
когда я выбрал свой запуск изображения и запустить его в первый раз, это строка состояния над изображением. Как я могу это скрыть?
15 ответов:
добавьте следующий код в контроллер вида:
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { // iOS 7 [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)]; } else { // iOS 6 [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; } - (BOOL)prefersStatusBarHidden { return YES; }
вам нужно добавить этот код в файл AppDelegate, а не в корневой контроллер вида
или добавить свойство строка состояния изначально скрыта в вашем файле plist
ребята, в iOS 7+
пожалуйста, добавьте это к вашей информации.plist файл, это будет иметь значение :)
UIStatusBarHidden UIViewControllerBasedStatusBarAppearance
для iOS 11.4+ и Xcode 9.4 +
используйте этот код либо в одном, либо во всех контроллерах вида
переопределить var prefersStatusBarHidden: Bool { верните true }
Что мне помогло это (изменение файла plist):
- set строка состояния изначально скрыта = да
- добавить строку: внешний вид строки состояния на основе контроллера = нет
поместите этот код в контроллер вида, в котором вы скрываете строку состояния:
- (BOOL)prefersStatusBarHidden {return YES;}
в iOS 7 внешний вид строки состояния зависит от
UIViewController
по умолчанию. Чтобы скрыть строку состояния глобально, вinfo.plist
использоватьNO
значениеUIViewControllerBasedStatusBarAppearance
ключ и использоватьUIApplication
' ssetStatusBarHidden
методYES
BOOL
значение.
добавить этот ключ ключ из выпадающего списка В "информация.plist " и вуаля вы больше не увидите верхнюю панель,которая включает в себя элементы, такие как GSM, значок wifi и т. д.
на
info.plist
View controller-based status bar appearance NO Status bar is initially hidden YES
на
view controller.m
- (BOOL) prefersStatusBarHidden { return YES; }
Я поддерживаю iOS 5, 6 и 7. Мое приложение только для iPad. Мне нужно было использовать все следующее:
[[UIApplication sharedApplication] setStatusBarHidden:YES];
Контроллер Вид:
- (BOOL)prefersStatusBarHidden{ return YES; }
информация.файл plist
<key>UIStatusBarHidden</key> <string>YES</string> <key>UIStatusBarHidden~ipad</key> <true/> <key>UIViewControllerBasedStatusBarAppearance</key> <string>NO</string>
это работает для меня ,
пожалуйста, добавьте ниже код в инфо.plist file,
<key>UIStatusBarHidden</key> <false/> <key>UIViewControllerBasedStatusBarAppearance</key> <false/>
надеется, что это работа для кого-то .
просто установите флажок в Targets / Summary iPad Deployment Info, и строка состояния исчезнет. Он работает на моих приложениях.
у меня была такая же проблема, но ее легко исправить! Просто установите
status bar is initially hidden = YES
затем добавьте строку, нажав на плюс сразу после текста
status bar is initially hidden
, затем установите текст вview controller-based status bar appearance
, нажимая на стрелки, и установите его в
NO
надеюсь, что это помогает!
ну самый простой способ, что я сделать это, введя следующую .m-файл.
- (BOOL) prefersStatusBarHidden { return YES; }
Это должно работать!
-(void) viewWillAppear:(BOOL)animated { [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; }
полное решение в swift, в вашем контроллере вида
// 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() }
чтобы скрыть строку состояния для каждого отдельного контроллера вида программно, используйте любую из следующих двух процедур:
процедура 1:
[[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation:UIStatusBarAnimationNone];
процедура 2:
- (BOOL)prefersStatusBarHidden {
return YES;
}
скрыть строку состояния для всего приложения, мы должны следовать приведенной ниже процедура:
вы должны добавить это значение в plist:" внешний вид строки состояния на основе контроллера "и установить его в"НЕТ".