UIScreen
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSObjectProtocol -
Печатаемый -
UITraitEnvironment -
NSObject -
UITraitEnvironment
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 2.0 и позже.
A UIScreen объект определяет свойства, связанные с основанным на аппаратных средствах дисплеем. устройства на iOS имеют основной экран и нуль или более присоединенные экраны. Используйте этот класс для получения объектов на экране для каждого дисплея, присоединенного к устройству. Каждый объект на экране определяет прямоугольник границ для связанного дисплея и других интересных свойств, таких как его яркость.
До iOS 8 прямоугольник границ экрана всегда отражал экранные размерности относительно ориентации портрета. Вращение устройства к альбомной или перевернутой ориентации не изменяло границы. В iOS 8 и позже, экран bounds свойство принимает интерфейсную ориентацию во внимание экрана. Это поведение означает, что границы для устройства в портретной ориентации могут не совпасть с границами для устройства в альбомной ориентации. Приложения, полагающиеся на экранные размерности, могут использовать объект в fixedCoordinateSpace свойство как фиксированная точка ссылки для любых вычислений они должны сделать.
Обработка экранных уведомлений соединения и разъединения
Когда пользователь подключает или разъединяет дисплей к устройству на iOS, система отправляет надлежащие уведомления Вашему приложению. Всегда наблюдайте уведомления от долгосрочного объекта Вашего приложения, такие как Ваш делегат приложения. Соединение и уведомления разъединения могут прибыть в любое время, даже когда Ваше приложение приостановлено в фоновом режиме. Если Ваше приложение приостановлено, когда уведомление поступает, уведомление ставится в очередь, пока Ваше приложение не начинает работать снова на переднем плане или фоне, в которой точке это поставлено Вашему объекту наблюдателя.
Когда Вы получаете уведомление, что новый внешний дисплей соединяется, используйте дополнительное экранное пространство каждый раз, когда Вы можете. Для использования пространства создайте объект окна, присвойте новый экран screen свойство, и показывает окно. Когда Ваше приложение находится на переднем плане, выполнение так заставляет содержание окна быть выведенным на экран на дисплее. Если Вы не создаете окно для дополнительного экрана, или если Вы создаете окно, но не показываете его, черное поле выведено на экран на внешнем дисплее.
Обработка подключения и уведомлений разъединения показывает два метода обработчиков сэмплера для уведомлений разъединения и соединения. Обработчик соединения создает вторичное окно, партнеры он с недавно связанным экраном, спрашивает один из контроллеров представления приложения (представленный пользовательским viewController свойство) добавить некоторое содержание к окну, и показывает его. Обработчик разъединения выпускает окно и уведомляет основной контроллер представления так, чтобы это могло скорректировать свое представление соответственно.
- (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.
-
Возвращает объект на экране, представляющий экран устройства.
Возвращаемое значение
Объект на экране для устройства
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает массив, содержащий все экраны, присоединенные к устройству.
Возвращаемое значение
Массив
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 и позже.
См. также
-
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!, selectorsel: Selector) -> CADisplayLink!Objective C
- (CADisplayLink *)displayLinkWithTarget:(id)targetselector:(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СвойствоУровень яркости экрана.
Обсуждение
Это свойство только поддерживается на основном экране. Значение этого свойства должно быть числом между
0.0и1.0, включительно.Изменения яркости, сделанные приложением, остаются в силе только, в то время как приложение активно. Когда Ваше приложение не находится на переднем плане, система восстанавливает предоставленный пользователями подбор яркости в подходящее время. Когда Ваше приложение перемещается в фон, таким образом, при изменении значения этого свойства Вы не должны записать предыдущее значение и восстановить его.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 5.0 и позже.
-
wantsSoftwareDimmingСвойствоБулево значение, указывающее, может ли экран быть недоступен ниже, чем аппаратные средства, обычно способно к путем эмуляции его в программном обеспечении.
Объявление
Swift
var wantsSoftwareDimming: BoolObjective C
@property(nonatomic) BOOL wantsSoftwareDimmingОбсуждение
Значение по умолчанию
NOfalse. Включение его может вызвать потерю в производительности.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 5.0 и позже.
-
overscanCompensationСвойствоДля внешнего экрана, это наборы свойств желаемый метод для компенсации сверхсканирование.
Объявление
Swift
var overscanCompensation: UIScreenOverscanCompensationObjective C
@property(nonatomic) UIScreenOverscanCompensation overscanCompensationОбсуждение
Некоторые внешние дисплеи могут быть неспособны надежно вывести на экран все пиксели пользователю. Для компенсации выберите один из методов, описанных в
“UIScreenOverscanCompensation”.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 5.0 и позже.
-
Возвращает представление снимка на основе текущего экранного содержания.
Объявление
Swift
func snapshotViewAfterScreenUpdates(_afterUpdates: Bool) -> UIViewObjective 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;Константы
-
ScaleUIScreenOverscanCompensationScaleФинал составил композит, кадровый буфер для экрана масштабируется так, чтобы все пиксели легли в области, видимой на экране.
Доступный в iOS 5.0 и позже.
-
InsetBoundsUIScreenOverscanCompensationInsetBoundsЭкранные границы сокращены в размере так, чтобы все пиксели в кадровом буфере были видимы на экране.
Доступный в iOS 5.0 и позже.
-
InsetApplicationFrameUIScreenOverscanCompensationInsetApplicationFrameФрейм приложения сокращен в размере для компенсации сверхсканирование. Содержание, нарисованное вне фрейма приложения, может быть отсечено.
Доступный в 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 и позже.
