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)
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
СвойствоУровень яркости экрана.
Обсуждение
Это свойство только поддерживается на основном экране. Значение этого свойства должно быть числом между
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
Обсуждение
Значение по умолчанию
NO
false
. Включение его может вызвать потерю в производительности.Оператор импорта
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) -> UIViewObjective C
- (UIView *)snapshotViewAfterScreenUpdates:(BOOL)
afterUpdates
Параметры
afterUpdates
Была включена булевская переменная, указывающая, должен ли снимок быть взят после недавних изменений. Укажите значение
NO
false
если Вы хотите получить экран в его текущем состоянии, которое не могло бы включать недавние изменения.Возвращаемое значение
Новый объект представления, содержащий снимок представленного содержания экрана.
Обсуждение
Этот метод получает текущее визуальное содержание экрана от сервера рендеринга и использует их для создания нового представления снимка. Можно использовать возвращенное представление снимка в качестве визуального заместителя для содержания экрана в приложении. Например, Вы могли бы использовать представление снимка для упрощения полноэкранной анимации. Поскольку содержание получено от уже представленного содержания, этот метод отражает текущее визуальное появление экрана и не обновляется для отражения анимаций, планирующихся или происходящих. Однако этот метод быстрее, чем попытка представить содержание экрана в растровое изображение самостоятельно.
Поскольку возвращенное представление снимка является все еще объектом представления, можно изменить его и его расположенный на слое объект по мере необходимости. Однако Вы не можете измениться
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 и позже.