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

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

Разработчик

Ссылка платформы QuartzCore ссылка класса CADisplayLink

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

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

CADisplayLink

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


Соответствует


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


Swift

import QuartzCore

Objective C

@import QuartzCore;

Доступность


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

A CADisplayLink объект является объектом таймера, позволяющим Вашему приложению синхронизировать свое получение с частотой обновления дисплея.

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

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

Ваше приложение может отключить уведомления путем установки paused свойство к YEStrue. Кроме того, если Ваше приложение не может обеспечить кадры во время, если, можно хотеть выбрать более медленную частоту кадров. Приложение с более медленной, но непротиворечивой частотой кадров кажется более гладким пользователю, чем приложение, пропускающее кадры. Можно увеличить время между кадрами (и уменьшить очевидную частоту кадров) путем изменения frameInterval свойство.

Когда Ваше приложение заканчивается со ссылкой дисплея, оно должно вызвать invalidate удалить его из всех циклов выполнения и разъединить его с целью.

CADisplayLink не должен быть разделен на подклассы.

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

    Объявление

    Swift

    init!(target target: AnyObject!, selector sel: Selector) -> CADisplayLink

    Objective C

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

    Параметры

    target

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

    sel

    Метод для обращения к цели.

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

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

    Обсуждение

    Селектор, к которому обратятся цель, должен быть методом со следующей подписью:

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

    где отправитель является ссылкой дисплея, возвращенной этим методом.

    Недавно созданная ссылка дисплея сохраняет цель.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

  • Регистрирует ссылку дисплея в цикле выполнения.

    Объявление

    Swift

    func addToRunLoop(_ runloop: NSRunLoop!, forMode mode: String!)

    Objective C

    - (void)addToRunLoop:(NSRunLoop *)runloop forMode:(NSString *)mode

    Параметры

    runloop

    Цикл выполнения для соединения со ссылкой дисплея.

    mode

    Режим, в котором можно добавить ссылку дисплея к циклу выполнения. Можно указать пользовательский режим или использовать один из режимов, перечисленных в Ссылке класса NSRunLoop.

    Обсуждение

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

    Цикл выполнения сохраняет ссылку дисплея. Для удаления ссылки дисплея из всех циклов выполнения отправьте invalidate обменивайтесь сообщениями к ссылке дисплея.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

  • Удаляет ссылку дисплея из цикла выполнения для данного режима.

    Объявление

    Swift

    func removeFromRunLoop(_ runloop: NSRunLoop!, forMode mode: String!)

    Objective C

    - (void)removeFromRunLoop:(NSRunLoop *)runloop forMode:(NSString *)mode

    Параметры

    runloop

    Цикл выполнения связался со ссылкой дисплея.

    mode

    Режим цикла выполнения, в котором работает ссылка дисплея.

    Обсуждение

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

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

    См. также

    – addToRunLoop:forMode:

  • Удаляет ссылку дисплея из всех режимов цикла выполнения.

    Объявление

    Swift

    func invalidate()

    Objective C

    - (void)invalidate

    Обсуждение

    Удаление ссылки дисплея от всех режимов цикла выполнения заставляет его быть выпущенным циклом выполнения. Ссылка дисплея также выпускает цель.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

  • duration Свойство

    Временной интервал между экраном обновляет обновления. (только для чтения)

    Объявление

    Swift

    var duration: CFTimeInterval { get }

    Objective C

    @property(readonly, nonatomic) CFTimeInterval duration

    Обсуждение

    Значение на время не определено, прежде чем селектор цели вызвали, по крайней мере, один раз. Ваше приложение может вычислить количество времени, которое оно должно представить каждый кадр путем умножения duration frameInterval.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

  • frameInterval Свойство

    Число кадров, которые должны передать перед ссылкой дисплея, уведомляет цель снова.

    Объявление

    Swift

    var frameInterval: Int

    Objective C

    @property(nonatomic) NSInteger frameInterval

    Обсуждение

    Значение по умолчанию 1, который приводит к Вашему приложению, уведомляемому в частоте обновления дисплея. Если значение установлено в значение, больше, чем 1, ссылка дисплея уведомляет Ваше приложение в части собственной частоты обновления. Например, устанавливая интервал в 2 заставляет ссылку дисплея запускать любой кадр, обеспечивая половину частоты кадров.

    Установка этого значения к меньше, чем 1 результатами в неопределенном поведении и является ошибка программиста.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

  • paused Свойство

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

    Объявление

    Swift

    var paused: Bool

    Objective C

    @property(getter=isPaused, nonatomic) BOOL paused

    Обсуждение

    Значение по умолчанию NOfalse. Если YEStrue, ссылка дисплея не отправляет уведомления цели.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

  • timestamp Свойство

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

    Объявление

    Swift

    var timestamp: CFTimeInterval { get }

    Objective C

    @property(readonly, nonatomic) CFTimeInterval timestamp

    Обсуждение

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

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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