Я только что обновил свой iPhone 5 iOS 7 до четырех бета-версии. Теперь, когда я запускаю свое приложение из Xcode 5 на этом iPhone, строка состояния не скрывается, хотя и должна.
Не работает:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
Не работает:
[UIApplication sharedApplication].statusBarHidden = YES;
Не удается войти на форумы разработчиков Apple
objective-c
statusbar
ios7
Мелих Бююкбайрам
источник
источник
Ответы:
в вашем plist-файле приложения добавьте строку с именем «Просмотр внешнего вида строки состояния на основе контроллера» и установите для нее значение NO
Обратите внимание, что это просто не работает, если вы используете UIImagePickerController в приложении.
с http://www.openfl.org/developer/forums/general-discussion/iphone-5ios-7-cant-hide-status-bar/ , решение mgiroux
источник
UIViewControllerBasedStatusBarAppearance
.Status bar is initially hidden
в YES .Добавьте метод в вашем контроллере представления.
источник
prefersStatusBarHidden
контроллера представления, это не будет работать. Строка состояния все еще появляется.В Plist добавить следующие свойства.
->
Status bar is initially hidden
= ДА->
View controller-based status bar appearance
= НЕТДобавьте оба - теперь строка состояния исчезнет.
источник
Чтобы скрыть строку состояния в одном представлении, вы должны использовать:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
Сначала это не сработало для меня, а затем в документации этого метода было замечено следующее: // Установка statusBarHidden ничего не делает, если ваше приложение использует стандартную систему строки состояния на основе UIViewController.
Это должно быть сделано в файле plist, добавив ключ
View controller-based status bar appearance
кNO
. И тогда это сработало.источник
Чтобы использовать устаревший метод UIApplication для скрытия / отображения строки состояния, ваше приложение должно установить значение plist для iOS 7:
View-Controller Based Status Bar Appearance = NO
Это значение по умолчанию установлено в YES. Если вы измените его на NO, вы можете использовать устаревшие методы. Если вы оставите для него значение YES, вы все равно сможете скрыть строку состояния, но каждый подкласс контроллера представления в вашем приложении должен переопределять:
prefersStatusBarHidden
возвращать YES.Каждый раз, когда вашему приложению требуется изменить вид строки состояния или видимость, а внешний вид строки состояния на основе View-Controller устанавливается на YES, вашему внешнему контроллеру представления необходимо вызвать:
setNeedsStatusBarAppearanceUpdateAnimation
источник
Чтобы скрыть строку состояния в iOS7, вам нужно 2 строки кода
неприменение:
(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
написатьв info.plist добавить это
источник
[application setStatusBarHidden:YES];
илиapplication.statusBarHidden = YES;
Для этой проблемы предлагается так много комбинаций, но проблема в том, что iOS 6 и 7 используют разные методы, чтобы скрыть строку состояния. У меня никогда не было успешной установки параметров plist для включения поведения в стиле iOS6 на iOS 7, но если вы создаете свое приложение для поддержки iOS 6+, вам нужно использовать сразу 3 метода, чтобы гарантировать, что конкретный контроллер представления скрывает статус бар:
Это должно работать независимо от ваших настроек plist.
источник
Мне пришлось сделать оба изменения ниже, чтобы скрыть строку состояния:
Добавьте этот код в контроллер представления, где вы хотите скрыть строку состояния:
Добавьте это в свой файл .plist (перейдите к «info» в настройках вашего приложения)
Затем вы можете вызвать эту строку, чтобы скрыть строку состояния:
источник
Просто добавьте эти 2 строки в файл info.plist. Это исправит и iOS7, и более старую версию.
Перейдите к проекту и выберите «Цели» -> «Общие» и установите флажок «Стиль строки состояния ... Скрыть во время запуска приложения». Это будет работать
источник
Попробуйте этот простой метод:
источник
Единственное, что сработало для меня, это добавить следующее в свой список
источник
Самый простой метод, который я нашел для сокрытия строки состояния во всем приложении, это создание
category
включениеUIViewController
и переопределениеprefersStatusBarHidden
. Таким образом, вам не нужно писать этот метод в каждом контроллере представления.UIViewController + HideStatusBar.h
UIViewController + HideStatusBar.m
источник
В плист добавьте ----
Просмотреть внешний вид строки состояния на основе контроллера --- НЕТ
В каждом viewController напишите
Для проблемы строки состояния в iOS 7, но цель должна быть 5.1 и выше для приложения
источник
Многие ответы в этой теме работают, но я понимаю, что если вы пытаетесь сделать что-то динамическое, вам в конце концов придется позвонить:
источник
Шаги для скрытия строки состояния в iOS 7:
1. Перейдите в файл info.plist вашего приложения.
2.И установить, просмотреть внешний вид строки состояния контроллера: Boolean NO
Надеюсь, я решил проблему в строке состояния .....
источник
Для iOS 7 в единственном представлении используйте в методе viewWillappear:
Для отображения строки состояния используйте:
источник
источник
В Info Plist file Добавить строку для следующего свойства
Имя свойства: просмотр внешнего вида строки состояния контроллера
Значение: НЕТ
источник
Попробуйте добавить следующий метод в корневой контроллер вашего приложения:
источник
Я попробовал все эти варианты, опубликованные здесь, на моем проекте, и они не будут работать. Я думал, что это может быть связано с тем, что я обновил свое,
Xcode
а затем и приложение до iOS 7, и некоторые настройки где-то испортились. Я решил создать для него совершенно новый проект, и после простой установки: «Status bar is initially hidden = YES
» и «View controller-based status bar appearance = NO
», как было сказано многими другими, он работал правильно (то есть без строки состояния).Поэтому мой совет, если вы работаете над проектом, который был обновлен до iOS 7 со старой версии и перепробовал все остальные варианты, это создать новый проект.
источник
Для 2019 года ...
Чтобы сделать приложение без строк состояния,
Нажмите info.plist, щелкните правой кнопкой мыши «Добавить строку».
Добавьте эти два с этими настройками:
Это все, что нужно сделать.
источник
Вы можете проверить этот код , под UIViewController + ODStatusBar
источник
Для Swift 2.0+ IOS 9
источник
Чтобы скрыть строку состояния для определенного viewController
Для настройки строки состояния, скрытой для приложения:
набор
View controller-based status bar appearance
дляNO
в .plist и вapplication: didFinishLaunchingWithOptions:
комплекте:[application setStatusBarHidden:YES];
ИЛИ
в настройках проекта -> вкладка "Общие" -> информация о развертывании
Проверьте
Hide Status bar
коробку.источник
источник
Я не уверен, почему вы «не можете войти на форумы разработчиков Apple», но (не нарушая NDA) вы также можете скрыть свой statusBar через XCode. Это общая настройка цели вашего приложения.
источник