Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы UIKit ссылка класса UIScreen

Опции
Развертывание Target:

На этой странице
Язык:

UIScreen

Наследование


Оператор импорта


Swift

import UIKit

Objective C

@import UIKit;

Доступность


Доступный в iOS 2.0 и позже.

A UIScreen объект определяет свойства, связанные с основанным на аппаратных средствах дисплеем. устройства на iOS имеют основной экран и нуль или более присоединенные экраны. Используйте этот класс для получения объектов на экране для каждого дисплея, присоединенного к устройству. Каждый объект на экране определяет прямоугольник границ для связанного дисплея и других интересных свойств, таких как его яркость.

До iOS 8 прямоугольник границ экрана всегда отражал экранные размерности относительно ориентации портрета. Вращение устройства к альбомной или перевернутой ориентации не изменяло границы. В iOS 8 и позже, экран bounds свойство принимает интерфейсную ориентацию во внимание экрана. Это поведение означает, что границы для устройства в портретной ориентации могут не совпасть с границами для устройства в альбомной ориентации. Приложения, полагающиеся на экранные размерности, могут использовать объект в fixedCoordinateSpace свойство как фиксированная точка ссылки для любых вычислений они должны сделать.

Обработка экранных уведомлений соединения и разъединения

Когда пользователь подключает или разъединяет дисплей к устройству на iOS, система отправляет надлежащие уведомления Вашему приложению. Всегда наблюдайте уведомления от долгосрочного объекта Вашего приложения, такие как Ваш делегат приложения. Соединение и уведомления разъединения могут прибыть в любое время, даже когда Ваше приложение приостановлено в фоновом режиме. Если Ваше приложение приостановлено, когда уведомление поступает, уведомление ставится в очередь, пока Ваше приложение не начинает работать снова на переднем плане или фоне, в которой точке это поставлено Вашему объекту наблюдателя.

Когда Вы получаете уведомление, что новый внешний дисплей соединяется, используйте дополнительное экранное пространство каждый раз, когда Вы можете. Для использования пространства создайте объект окна, присвойте новый экран screen свойство, и показывает окно. Когда Ваше приложение находится на переднем плане, выполнение так заставляет содержание окна быть выведенным на экран на дисплее. Если Вы не создаете окно для дополнительного экрана, или если Вы создаете окно, но не показываете его, черное поле выведено на экран на внешнем дисплее.

Обработка подключения и уведомлений разъединения показывает два метода обработчиков сэмплера для уведомлений разъединения и соединения. Обработчик соединения создает вторичное окно, партнеры он с недавно связанным экраном, спрашивает один из контроллеров представления приложения (представленный пользовательским viewController свойство) добавить некоторое содержание к окну, и показывает его. Обработчик разъединения выпускает окно и уведомляет основной контроллер представления так, чтобы это могло скорректировать свое представление соответственно.

Подключение перечисления 1Handling и уведомления разъединения
  • - (void)handleScreenConnectNotification:(NSNotification*)aNotification {
  • UIScreen* newScreen = [aNotification object];
  • CGRect screenBounds = newScreen.bounds;
  • if (!_secondWindow) {
  • _secondWindow = [[UIWindow alloc] initWithFrame:screenBounds];
  • _secondWindow.screen = newScreen;
  • // Set the initial UI for the window and show it.
  • [self.viewController displaySelectionInSecondaryWindow:_secondWindow];
  • [_secondWindow makeKeyAndVisible];
  • }
  • }
  • - (void)handleScreenDisconnectNotification:(NSNotification*)aNotification {
  • if (_secondWindow) {
  • // Hide and then delete the window.
  • _secondWindow.hidden = YES;
  • [_secondWindow release];
  • _secondWindow = nil;
  • // Update the main screen based on what is showing here.
  • [self.viewController displaySelectionOnMainScreen];
  • }
  • }

Конфигурирование экранного режима внешнего дисплея

Много экранов поддерживают многократные разрешения, некоторые из которых используют различные попиксельные пропорции. Объекты на экране используют наиболее распространенный экранный режим по умолчанию, но можно изменить тот режим на тот, более подходящий для содержания. Например, при реализации игры с помощью OpenGL, ES и текстуры разработаны для экрана на 640 x 480 пикселей, Вы могли бы изменить экранный режим для экранов с более высокими разрешениями по умолчанию.

Если Вы планируете использовать экранный режим кроме по умолчанию, применить тот режим к UIScreen объект прежде, чем связать экран с окном. UIScreenMode класс определяет атрибуты единственного экранного режима. Можно получить список режимов, поддерживаемых экраном от availableModes свойство и выполняет итерации через список для того, соответствующего Ваши потребности.

Для получения дополнительной информации об экранных режимах, посмотрите Ссылку класса UIScreenMode.

  • Возвращает объект на экране, представляющий экран устройства.

    Объявление

    Swift

    class func mainScreen() -> UIScreen

    Objective C

    + (UIScreen *)mainScreen

    Возвращаемое значение

    Объект на экране для устройства

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Возвращает массив, содержащий все экраны, присоединенные к устройству.

    Объявление

    Swift

    class func screens() -> [AnyObject]

    Objective C

    + (NSArray *)screens

    Возвращаемое значение

    Массив UIScreen объекты.

    Обсуждение

    Возвращенный массив включает основной экран плюс любые дополнительные экраны, подключенные к устройству. Основной экран всегда в индексе 0.

    Не все устройства поддерживают внешние дисплеи. В настоящее время внешние дисплеи поддерживаются iPhone и устройствами iPod touch с дисплеями Сетчатки и iPad. Более старые устройства, такие как iPhone 3GS не поддерживают внешние дисплеи. Соединение с внешним дисплеем требует надлежащего кабеля между устройством и дисплеем.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • mirroredScreen Свойство

    Экран, зеркально отражаемый внешним дисплеем. (только для чтения)

    Объявление

    Swift

    var mirroredScreen: UIScreen? { get }

    Objective C

    @property(nonatomic, readonly, retain) UIScreen *mirroredScreen

    Обсуждение

    Если зеркальное отражение поддерживается и в настоящее время активно, это свойство содержит объект на экране, связанный с основным экраном устройства. Это представляет экран, зеркально отражаемый присоединенным дисплеем. Значение этого свойства nil когда зеркальное отражение отключено, не поддерживаемый, или никакой экран не подключен к устройству.

    Чтобы отключить зеркальное отражение и использовать внешний дисплей для представления уникального содержания, создайте окно и свяжите его с соответствующим объектом на экране. Чтобы повторно позволить зеркально отразить, удалите окно из соответствующего объекта на экране.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.3 и позже.

    См. также

    + mainScreen

  • coordinateSpace Свойство

    Текущее координатное пространство экрана. (только для чтения)

    Объявление

    Swift

    var coordinateSpace: UICoordinateSpace { get }

    Objective C

    @property(readonly) id< UICoordinateSpace > coordinateSpace

    Обсуждение

    Текущее координатное пространство экрана всегда отражает, что любые интерфейсные ориентации применились к устройству. Поэтому границы этого координатного пространства соответствуют bounds свойство самого экрана.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • fixedCoordinateSpace Свойство

    Фиксированное координатное пространство экрана. (только для чтения)

    Объявление

    Swift

    var fixedCoordinateSpace: UICoordinateSpace { get }

    Objective C

    @property(readonly) id< UICoordinateSpace > fixedCoordinateSpace

    Обсуждение

    Границы этого координатного пространства всегда отражают экранные размерности устройства в ориентации портрета. Можно использовать это координатное пространство в местах, где Вам нужна фиксированная система отсчета. Например, если Ваше приложение сохраняет значения координаты экрана на диск, преобразуйте те значения в фиксированное координатное пространство прежде, чем сделать так. Сохранение их в фиксированном координатном пространстве гарантирует, что, когда Ваше приложение читает значения позже, это может преобразовать их в текущее координатное пространство правильно.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • bounds Свойство

    Ограничительный прямоугольник экрана, измеренного в точках. (только для чтения)

    Объявление

    Swift

    var bounds: CGRect { get }

    Objective C

    @property(nonatomic, readonly) CGRect bounds

    Обсуждение

    Этот прямоугольник указан в текущем координатном пространстве, принимающем во внимание любые интерфейсные вращения в действительности для устройства. Когда устройство вращается между портретными и альбомными ориентациями, Поэтому значение этого свойства может измениться.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • applicationFrame Свойство

    Прямоугольник кадра для окна приложения, измеренного в точках. (только для чтения)

    Объявление

    Swift

    var applicationFrame: CGRect { get }

    Objective C

    @property(nonatomic, readonly) CGRect applicationFrame

    Обсуждение

    Это свойство содержит прямоугольник границ, используемый окном приложения, которое в некоторых версиях iOS может отличаться, чем сами экранные границы. Этот прямоугольник указан в текущем координатном пространстве, принимающем во внимание любые интерфейсные вращения в действительности для устройства. Когда устройство вращается между портретными и альбомными ориентациями, Поэтому значение этого свойства может измениться.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • nativeBounds Свойство

    Ограничительный прямоугольник физического экрана, измеренного в пикселях. (только для чтения)

    Объявление

    Swift

    var nativeBounds: CGRect { get }

    Objective C

    @property(nonatomic, readonly) CGRect nativeBounds

    Обсуждение

    Этот прямоугольник основывается на устройстве в ориентации портрета. Это значение не изменяется, поскольку вращается устройство.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • nativeScale Свойство

    Собственный масштабный коэффициент для физического экрана. (только для чтения)

    Объявление

    Swift

    var nativeScale: CGFloat { get }

    Objective C

    @property(nonatomic, readonly) CGFloat nativeScale

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • scale Свойство

    Фактор натурального звукоряда связался с экраном. (только для чтения)

    Объявление

    Swift

    var scale: CGFloat { get }

    Objective C

    @property(nonatomic, readonly) CGFloat scale

    Обсуждение

    Это значение отражает, что масштабный коэффициент должен был преобразовать из логического координатного пространства по умолчанию в координатное пространство устройства этого экрана. Логическое координатное пространство по умолчанию измеряется с помощью точек. Для дисплеев стандартного разрешения масштабный коэффициент 1.0 и одна точка равняется одному пикселю. Для дисплеев Сетчатки масштабный коэффициент 2.0 и одна точка представлена на четыре пикселя.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • preferredMode Свойство

    Предпочтительный режим отображения для экрана. (только для чтения)

    Объявление

    Swift

    var preferredMode: UIScreenMode! { get }

    Objective C

    @property(nonatomic, readonly, retain) UIScreenMode *preferredMode

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.3 и позже.

  • availableModes Свойство

    Режимы отображения, которые могут быть связаны с экраном. (только для чтения)

    Объявление

    Swift

    var availableModes: [AnyObject] { get }

    Objective C

    @property(nonatomic, readonly, copy) NSArray *availableModes

    Обсуждение

    Массив содержит один или больше UIScreenMode объекты, каждый из которых представляет режим отображения, поддерживаемый экраном.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • currentMode Свойство

    Текущий экранный режим связался с экраном.

    Объявление

    Swift

    var currentMode: UIScreenMode?

    Objective C

    @property(nonatomic, retain) UIScreenMode *currentMode

    Обсуждение

    Значение по умолчанию этого свойства является режимом, содержащим самое высокое разрешение, поддерживаемое экраном. Можно изменить значение этого свойства для поддержки различных разрешений по мере необходимости. Например, Вы могли бы хотеть понизить разрешение по умолчанию к тому что Ваша поддержка приложений с большей готовностью.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • Возвращает объект ссылки дисплея для текущего экрана.

    Объявление

    Swift

    func displayLinkWithTarget(_ target: AnyObject!, selector sel: Selector) -> CADisplayLink!

    Objective C

    - (CADisplayLink *)displayLinkWithTarget:(id)target selector:(SEL)sel

    Параметры

    target

    Объект, который будет уведомлен, когда должен быть обновлен экран.

    sel

    Метод target вызывать. Этот селектор должен иметь следующую подпись:

    Swift

    • func selector(sender: CADisplayLink) { }

    Objective C

    • - (void)selector:(CADisplayLink *)sender;

    Возвращаемое значение

    Недавно созданный объект ссылки дисплея.

    Обсуждение

    Вы используете объекты ссылки дисплея для синхронизации кода для прорисовки с частотой обновления экрана. Недавно созданная ссылка дисплея сохраняет цель.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • brightness Свойство

    Уровень яркости экрана.

    Объявление

    Swift

    var brightness: CGFloat

    Objective C

    @property(nonatomic) CGFloat brightness

    Обсуждение

    Это свойство только поддерживается на основном экране. Значение этого свойства должно быть числом между 0.0 и 1.0, включительно.

    Изменения яркости, сделанные приложением, остаются в силе только, в то время как приложение активно. Когда Ваше приложение не находится на переднем плане, система восстанавливает предоставленный пользователями подбор яркости в подходящее время. Когда Ваше приложение перемещается в фон, таким образом, при изменении значения этого свойства Вы не должны записать предыдущее значение и восстановить его.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • wantsSoftwareDimming Свойство

    Булево значение, указывающее, может ли экран быть недоступен ниже, чем аппаратные средства, обычно способно к путем эмуляции его в программном обеспечении.

    Объявление

    Swift

    var wantsSoftwareDimming: Bool

    Objective C

    @property(nonatomic) BOOL wantsSoftwareDimming

    Обсуждение

    Значение по умолчанию NOfalse. Включение его может вызвать потерю в производительности.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • overscanCompensation Свойство

    Для внешнего экрана, это наборы свойств желаемый метод для компенсации сверхсканирование.

    Объявление

    Swift

    var overscanCompensation: UIScreenOverscanCompensation

    Objective C

    @property(nonatomic) UIScreenOverscanCompensation overscanCompensation

    Обсуждение

    Некоторые внешние дисплеи могут быть неспособны надежно вывести на экран все пиксели пользователю. Для компенсации выберите один из методов, описанных в “UIScreenOverscanCompensation”.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • Возвращает представление снимка на основе текущего экранного содержания.

    Объявление

    Swift

    func snapshotViewAfterScreenUpdates(_ afterUpdates: Bool) -> UIView

    Objective C

    - (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates

    Параметры

    afterUpdates

    Была включена булевская переменная, указывающая, должен ли снимок быть взят после недавних изменений. Укажите значение NOfalse если Вы хотите получить экран в его текущем состоянии, которое не могло бы включать недавние изменения.

    Возвращаемое значение

    Новый объект представления, содержащий снимок представленного содержания экрана.

    Обсуждение

    Этот метод получает текущее визуальное содержание экрана от сервера рендеринга и использует их для создания нового представления снимка. Можно использовать возвращенное представление снимка в качестве визуального заместителя для содержания экрана в приложении. Например, Вы могли бы использовать представление снимка для упрощения полноэкранной анимации. Поскольку содержание получено от уже представленного содержания, этот метод отражает текущее визуальное появление экрана и не обновляется для отражения анимаций, планирующихся или происходящих. Однако этот метод быстрее, чем попытка представить содержание экрана в растровое изображение самостоятельно.

    Поскольку возвращенное представление снимка является все еще объектом представления, можно изменить его и его расположенный на слое объект по мере необходимости. Однако Вы не можете измениться contents свойство уровня представления снимка и попыток сделать так перестанет работать тихо. Если какие-либо экранные представления еще не посвятили себя серверу рендеринга, та часть снимка не будет иметь никакого содержания.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Описывает различные методы для компенсации за пиксельную потерю в краю экрана.

    Объявление

    Swift

    enum UIScreenOverscanCompensation : Int { case Scale case InsetBounds case InsetApplicationFrame }

    Objective C

    typedef enum { UIScreenOverscanCompensationScale, UIScreenOverscanCompensationInsetBounds, UIScreenOverscanCompensationInsetApplicationFrame, } UIScreenOverscanCompensation;

    Константы

    • Scale

      UIScreenOverscanCompensationScale

      Финал составил композит, кадровый буфер для экрана масштабируется так, чтобы все пиксели легли в области, видимой на экране.

      Доступный в iOS 5.0 и позже.

    • InsetBounds

      UIScreenOverscanCompensationInsetBounds

      Экранные границы сокращены в размере так, чтобы все пиксели в кадровом буфере были видимы на экране.

      Доступный в iOS 5.0 и позже.

    • InsetApplicationFrame

      UIScreenOverscanCompensationInsetApplicationFrame

      Фрейм приложения сокращен в размере для компенсации сверхсканирование. Содержание, нарисованное вне фрейма приложения, может быть отсечено.

      Доступный в iOS 5.0 и позже.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • Когда новый экран подключен к устройству, это уведомление отправляется. Объект уведомления UIScreen объект, представляющий новый экран. Существует нет userInfo словарь.

    Уведомления соединения не отправляются за экранами, уже присутствующими, когда запускается приложение. Приложение может вместо этого использовать screens метод для получения текущего набора экранов во время запуска.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • Когда экран разъединяется от устройства, это уведомление отправляется. Объект уведомления UIScreen возразите, что представлял теперь разъединенный экран. Существует нет userInfo словарь.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • Когда текущий режим экрана изменяется, это уведомление отправляется. Объект уведомления UIScreen объект, чей currentMode свойство изменилось. Существует нет userInfo словарь.

    Клиенты могут использовать это уведомление для обнаружения изменений в разрешении экрана.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • Когда яркость экрана изменяется, это уведомление отправляется. Объект уведомления UIScreen объект, чей brightness свойство изменилось. Существует нет userInfo словарь.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.