строка состояния не исчезнет

<p>я создаю приложение и хочу, чтобы строка состояния была скрыта. когда я тестирую приложение, строка состояния скрывается, пока отображается заставка, но как только приложение полностью загружено, строка состояния появляется снова.</p><p>я использую xcode 5 и ios 7 и попытался отключить строку состояния программно</p><pre><code> ([[uiapplication sharedapplication] setstatusbarhidden:yes withanimation:uistatusbaranimationfade];), </code></pre><p>в файле info.plist и с помощью инспектора атрибутов в файле .xib. ничто не похоже на работу. </p><p>есть идеи?</p>

<p>попробуйте добавить следующий метод в корневой контроллер вашего приложения:</p><pre><code>- (bool)prefersstatusbarhidden { return yes; } </code></pre>

<p>вы должны добавить это значение в plist: "<strong> просмотреть внешний вид строки состояния на основе контроллера </strong>" и установить его в "<strong>no</strong>".</p><p>это позволит вам установить в строке состояния <em>скрытый режим</em>. это делает его глобальным в отличие от других предоставленных ответов.</p><p><strong> обновление: </strong>если вы хотите, чтобы строка состояния была скрыта на заставке, не забудьте отметить "<strong> скрыть во время запуска приложения </strong>" в параметрах целевой строки состояния . также вы можете добавить "<strong> строка состояния изначально скрыта </strong>"to"<strong>yes</strong>"на листе, если вы не хотите делать это с кодом внутри приложения.</p>

<p>размещенный вами код работает для ios 6.1 и ниже. для ios 7 apple сделала доступными новые методы для непосредственного управления строкой состояния для каждого представления. отключение этой опции в вашем<strong> info.plist </strong>позволит вам скрыть строку состояния, по крайней мере, для текущего предварительного просмотра разработчика (4).</p><p><img src="https://i.stack.imgur.com/wxdwn.png" alt="add this and set to no"></p><p>для справки, пожалуйста, посмотрите руководство по переходу на ios 7, которое доступно на портале apple для разработчиков.</p>

<p>хорошо, я пытаюсь скрыть строку состояния во всех моих приложениях и в «app» -info.plist, и я добавляю две строки в словаре «список свойств информации», я добавляю «просмотр внешнего вида строки состояния на основе контроллера», установите no и in » изначально скрыта строка состояния "установите да и у меня работает n\_n '</p><p><img src="https://i.stack.imgur.com/egztv.png" alt="plist info"></p>

<p>однако, если вы используете uiimagepicker, строка состояния появляется снова.</p><p>в этом случае вы должны скрыть строку состояния, как показано ниже,</p><pre><code>- (void)imagepickercontroller:(uiimagepickercontroller *)apicker didfinishpickingmediawithinfo:(nsdictionary *)info { // for ios7 if ([self respondstoselector:@selector(setneedsstatusbarappearanceupdate)]) { [[uiapplication sharedapplication] setstatusbarhidden:yes]; } </code></pre>

<p>после долгих поисков я наконец нашел очень простое решение, которое также решает проблему <code>uiimagepickercontroller</code>.</p><p>как упоминалось в других ответах, установите строку состояния, скрытую в вашем appdelegate didfinishlaunching, и установите для параметра «просмотр внешнего вида строки состояния на основе контроллера» значение нет.</p><p>затем в вашем appdelegate:</p><pre><code>- (void)application:(uiapplication *)application didchangestatusbarframe:(cgrect)oldstatusbarframe { [application setstatusbarhidden:yes withanimation:uistatusbaranimationnone]; } </code></pre><p>et voila - ваша строка состояния будет скрыта даже в том случае, если uiimagepickercontroller находится на первом месте.</p><p>это лучше, чем «скрывать» его каждый раз, когда вы представляете uiimagepickercontroller, так как он остается скрытым во всем приложении.</p>

<p>чтобы скрыть строку состояния для определенного uiviewcontroller, просто добавьте это:</p><pre><code>-(bool)prefersstatusbarhidden { return yes; } </code></pre><p>надеюсь это поможет !</p>

<p>вы можете скрыть от резюме проекта. есть флажок скрыть во время запуска.</p><p>смотрите снимок</p><p><img src="https://i.stack.imgur.com/pkffd.png" alt="enter image description here"></p>

<p>я нашел это решение для меня. это работает как очарование ... напишите этот код на вашем viewcontroller, на котором вы хотели использовать uiimagepickercontroller.</p><pre><code>- (void)viewwilldisappear:(bool)animated { [[uiapplication sharedapplication] setstatusbarhidden:yes withanimation:uistatusbaranimationnone]; } - (void)viewwillappear:(bool)animated { [[uiapplication sharedapplication] setstatusbarhidden:yes withanimation:uistatusbaranimationnone]; } </code></pre>

<blockquote> <h2>быстрое решение</h2> </blockquote><p>просто добавьте это в ваши контроллеры вида:</p><pre><code>override func prefersstatusbarhidden() -> bool { return true } </code></pre>

<p>в дополнение к ответу одного только выше, убедитесь, что реализовали метод imagepickercontrollerdidcancel и добавили туда же код. </p>

<p>у меня тоже были проблемы с uiimagepicker. аналогично ответу alones, мое решение было следующим. я добавил эту строку или код:</p><pre><code>[[uiapplication sharedapplication] setstatusbarhidden:yes]; </code></pre><p>к этой функции:</p><pre><code>- (void)navigationcontroller:(uinavigationcontroller *)navigationcontroller willshowviewcontroller:(uiviewcontroller *)viewcontroller animated:(bool)animated </code></pre><p>я не проверял это с ios 6 или старше, но он прекрасно работает в ios 7.</p>

<p>моя проблема заключалась в том, что я использовал сдерживание контроллера представления. только самый верхний контроллер вида, который встроен в контроллер навигации, например, может скрывать или отображать строку состояния.</p>

<p>я использую xcode 6, это решение работает на ios 7 и 8 для меня:</p><p>во-первых, установите для параметра «просмотр внешнего вида строки состояния на основе контроллера» значение no в файле plist.</p><p>во-вторых, в appdelegate добавьте это:</p><pre><code>- (void)application:(uiapplication *)application didchangestatusbarframe:(cgrect)oldstatusbarframe { [application setstatusbarhidden:yes withanimation:uistatusbaranimationnone]; } </code></pre>