iPhone с двойным статусом с высоким статусом

У меня много проблем с компоновкой из-за двойной строки состояния на iPhone. Мой макет организован таким образом, чтобы обеспечить необходимый размер для всех элементов UIelements, изменяя их размер, чтобы обрабатывать двойную строку состояния, что делает мой макет приложения уродливым при нормальном использовании.

Может ли кто-нибудь предложить, есть ли альтернативный способ обработки макета, который выталкивается вниз из экрана при появлении двойной строки состояния? и при нормальном использовании (без двойной строки с высоким статусом) UI по-прежнему выглядит хорошо?

Обычно для обработки изменения размера экрана очень важны правила автосохранения (Autolayout является более гибким в iOS 6).

Эти правила определяют, как изменяется положение и размер ваших элементов в зависимости от изменения размера супервизора. Это общие правила, которые влияют на верхние / левые / нижние / правые поля и ширину / высоту, но работают для большинства людей в большинстве ситуаций.

Вам нужно решить, как вы хотите, чтобы ваш взгляд выглядел с укороченной высотой, и учитывайте это при реализации своего представления. Если Autoresize может справиться с этим для вас, это здорово! Вы можете применить их либо в IB (под вкладкой линейки при выборе вида), либо через код:

view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 

Если вы нацеливаете iOS 6 и выше, вы также можете использовать AutoLayout и систему ограничений.

Если это не подходит, вы можете выполнять свои собственные преобразования по требованию, когда строка состояния меняет высоту. Это можно сделать либо:

  1. Реализация этих методов делегатов в приложении App Delegate:

     application:willChangeStatusBarFrame: application:didChangeStatusBarFrame: 
  2. Наблюдение за этими уведомлениями

     UIApplicationWillChangeStatusBarFrameNotification UIApplicationDidChangeStatusBarFrameNotification 
  • Как удалить спаренные устройства Bluetooth в iOS?
  • Ошибка «Не удалось создать текст предварительного просмотра» при создании объекта с помощью действия Open Graph
  • Как заставить приложение iOS ввести состояние приостановки для проверки поведения фоновой задачи?
  • Создание профиля Provisioning для моего приложения IOS, которое позволит стороннему тестировать мое приложение
  • Можете ли вы предварительно загружать admob DFPBannerView на iOS
  • Есть ли способ удалить идентификатор приложения, когда программа разработки IOS истекла?
  • AVSpeechSynthesizer, AVSpeechUtterance не может работать на iPhone 5 с iOS9.2.1 (13D15) или iOS9.1.1
  • Facebook предоставляет права даже после отказа
  • Facebook SDK в iOS 8 с быстрой версией Swift / Xcode 5, возвращающий accessToken, но без идентификатора пользователя после обновления
  • как кнопка управления громкостью Bluetooth-устройства на iOS?
  • Файловый ввод-вывод в iOS?
  • Interesting Posts

    Как использовать NSUserDefaults в телефонной запинке?

    Прикрепить изображение к электронному письму

    Как отключить / включить локальное уведомление в iOS?

    Как вы можете узнать строку кода, в которой курсор находится в Xcode?

    IPhone 5 оптимизирует старый xib

    UIToolbar как правая кнопка в UINavigationbar, содержит 2 кнопки без разнесения между ними

    Загрузка проблем с помощью AVPlayerItem из локального URL-адреса

    Что случилось с моим Xcode 8? Я даже не могу скомпилировать новый проект?

    Странное поведение на симуляторе вращения

    IOS Какая версия TLS используется при создании NSURLConnection?

    iPhone – сдвиг текстового поля AlertView с использованием iOS6

    self.scene.view.paused = ДА в обновлении

    Хорошо для ivar хранить ссылку на владельца?

    Xcode 7: Контроллер дочернего представления UINavigationController не изменяет размер, чтобы соответствовать границам родителя

    показать английскую клавиатуру и ввести, когда язык устройства является арабским в iOS

    Давайте будем гением компьютера.