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

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

Разработчик

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

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

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

UIDynamicAnimator

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


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


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


Swift

import UIKit

Objective C

@import UIKit;

Доступность


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

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

Динамическим элементом является любой iOS или пользовательский объект, соответствующий UIDynamicItem протокол. UIView и UICollectionViewLayoutAttributes классы реализуют этот протокол, запускающийся в iOS 7.0. Можно реализовать этот протокол для использования динамического аниматора с пользовательскими объектами в таких целях как реакция на вращение или изменения позиции, вычисленные аниматором.

Для использования динамики сконфигурируйте один или несколько динамические способы поведения — включая обеспечение каждого с рядом динамических элементов — и затем добавьте те способы поведения к динамическому аниматору.

Вы указываете динамические способы поведения с помощью любого iOS примитивные динамические классы поведения: UIAttachmentBehavior, UICollisionBehavior, UIDynamicItemBehavior, UIGravityBehavior, UIPushBehavior, и UISnapBehavior. Каждый из них обеспечивает параметры конфигурации и позволяет Вам связаться один или несколько динамические элементы к поведению. Для активации поведения добавьте его к аниматору.

Динамический аниматор взаимодействует с каждым из его динамических элементов следующим образом:

  1. Прежде, чем добавить элемент к поведению, Вы указываете стартовую позицию элемента, вращение и границы (для этого используют свойства класса элемента, такой как center, transform, и bounds свойства в случае a UIView- основанный элемент)

  2. После того, как Вы добавите поведение к аниматору, аниматор вступает во владение: это обновляет позицию и вращение элемента, поскольку анимация продолжается (см. UIDynamicItem протокол)

  3. Можно программно обновить состояние элемента посреди анимации, после которой аниматор берет на себя назад управление анимации элемента относительно состояния, которое Вы указали (см. updateItemUsingCurrentState: метод)

Можно определить составные способы поведения с помощью addChildBehavior: метод UIDynamicBehavior родительский класс поведения. Набор способов поведения, которые Вы добавляете к аниматору, составляет иерархию поведения. Каждый экземпляр поведения, который Вы связываете с аниматором, может присутствовать только один раз в иерархии.

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

  • Для анимации представлений создайте аниматора с initWithReferenceView: метод. Система координат ссылочного ракурса служит системой координат для способов поведения и элементов аниматора. Каждый динамический элемент, который Вы связываете с этим видом аниматора, должен быть a UIView возразите и должен убывать от ссылочного ракурса.

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

  • Для анимации представлений набора создайте аниматора с initWithCollectionViewLayout: метод. Получающийся аниматор использует расположение представления набора (объект UICollectionViewLayout класс) для его системы координат. Динамические элементы в этом виде аниматора должны быть UICollectionViewLayoutAttributes объекты, которые являются частью расположения.

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

    Аниматор представления набора автоматически вызывает invalidateLayout метод по мере необходимости, и автоматически паузы и анимация резюме, как надлежащий, когда Вы изменяете расположение представления набора.

  • Нанять динамического аниматора с другими объектами, соответствующими UIDynamicItem протокол, создайте аниматора с наследованным init метод. Получающийся аниматор использует абстрактную систему координат, не связанную к экрану или к любому представлению.

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

Все типы динамических аниматоров совместно используют следующие характеристики:

  • Каждый динамический аниматор независим от других динамических аниматоров, которых Вы создаете

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

  • Аниматор автоматически паузы, когда все его элементы в покое, и автоматически возобновляют, когда параметр поведения изменяется или поведение или элемент, добавлен или удален

Можно реализовать делегата для реакции на изменения в состоянии паузы/возобновления аниматора, с помощью dynamicAnimatorDidPause: и dynamicAnimatorWillResume: методы UIDynamicAnimatorDelegate протокол.

  • Инициализирует динамического аниматора с указанным представлением как его ссылочный ракурс.

    Объявление

    Swift

    init(referenceView view: UIView)

    Objective C

    - (instancetype)initWithReferenceView:(UIView *)view

    Параметры

    view

    Представление для динамического аниматора, названного ссылочным ракурсом.

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

    Инициализированный динамический аниматор, или nil если была проблема, инициализирующая объект.

    Обсуждение

    При инициализации динамического аниматора с этим методом способы поведения (и их динамические элементы), что Вы добавляете к аниматору, используют систему координат ссылочного ракурса.

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

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

    Объявление

    Swift

    init(collectionViewLayout layout: UICollectionViewLayout)

    Objective C

    - (instancetype)initWithCollectionViewLayout:(UICollectionViewLayout *)layout

    Параметры

    layout

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

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

    Инициализированный динамический аниматор, или nil если была проблема, инициализирующая объект.

    Обсуждение

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

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

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

    Объявление

    Swift

    func itemsInRect(_ rect: CGRect) -> [AnyObject]

    Objective C

    - (NSArray *)itemsInRect:(CGRect)rect

    Параметры

    rect

    Прямоугольник Вы интересуетесь.

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

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

    Обсуждение

    Система координат, принадлежащая rect параметр зависит от того, как Вы инициализировали аниматора, как описано в Обзоре в этом документе.

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

  • Добавляет динамическое поведение к динамическому аниматору.

    Объявление

    Swift

    func addBehavior(_ behavior: UIDynamicBehavior!)

    Objective C

    - (void)addBehavior:(UIDynamicBehavior *)behavior

    Параметры

    behavior

    Динамический экземпляр поведения Вы добавляете.

    Динамический аниматор игнорирует Ваше использование этого метода если Вы:

    • Обеспечьте a nil значение

    • Обеспечьте экземпляр поведения, который Вы уже добавили к аниматору на том же уровне в иерархии поведения

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

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

    Объявление

    Swift

    func removeBehavior(_ behavior: UIDynamicBehavior!)

    Objective C

    - (void)removeBehavior:(UIDynamicBehavior *)behavior

    Параметры

    behavior

    Динамический экземпляр поведения, который Вы хотите удалить от аниматора.

    Динамический аниматор игнорирует Ваше использование этого метода если Вы:

    • Обеспечьте a nil значение

    • Обеспечьте динамический экземпляр поведения, который не является частью иерархии поведения аниматора

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

  • Удаляет все динамические способы поведения от динамического аниматора.

    Объявление

    Swift

    func removeAllBehaviors()

    Objective C

    - (void)removeAllBehaviors

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

  • Возвращает временной интервал, так как динамический аниматор начал работать.

    Объявление

    Swift

    func elapsedTime() -> NSTimeInterval

    Objective C

    - (NSTimeInterval)elapsedTime

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

    Прошедшее время, так как динамический аниматор начал работать.

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

  • running Свойство

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

    Объявление

    Swift

    var running: Bool { get }

    Objective C

    @property(nonatomic, readonly, getter=isRunning) BOOL running

    Обсуждение

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

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

  • behaviors Свойство

    Динамические способы поведения, которыми управляет динамический аниматор. (только для чтения)

    Объявление

    Swift

    var behaviors: [AnyObject] { get }

    Objective C

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

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

  • referenceView Свойство

    Представление, что динамический аниматор был инициализирован с. (только для чтения)

    Объявление

    Swift

    var referenceView: UIView? { get }

    Objective C

    @property(nonatomic, readonly) UIView *referenceView

    Обсуждение

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

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

  • delegate Свойство

    Делегат к ответу на приостановку или возобновление анимации.

    Объявление

    Swift

    unowned(unsafe) var delegate: UIDynamicAnimatorDelegate?

    Objective C

    @property(nonatomic, assign) id< UIDynamicAnimatorDelegate > delegate

    Обсуждение

    Методы для динамического делегата аниматора описаны в Ссылке на протокол UIDynamicAnimatorDelegate.

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

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

    Объявление

    Swift

    func updateItemUsingCurrentState(_ item: UIDynamicItem)

    Objective C

    - (void)updateItemUsingCurrentState:(id<UIDynamicItem>)item

    Параметры

    item

    Динамический элемент, состояние которого было изменено Вашим приложением.

    Обсуждение

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

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

  • Удобный метод для возврата атрибутов макета для набора просматривает ячейку.

    Объявление

    Swift

    func layoutAttributesForCellAtIndexPath(_ indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes!

    Objective C

    - (UICollectionViewLayoutAttributes *)layoutAttributesForCellAtIndexPath:(NSIndexPath *)indexPath

    Параметры

    indexPath

    Индексный путь для ячейки, атрибуты макета которой Вы хотите.

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

    Атрибуты макета представления набора для указанного набора просматривают ячейку.

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

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

    Объявление

    Swift

    func layoutAttributesForDecorationViewOfKind(_ decorationViewKind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes!

    Objective C

    - (UICollectionViewLayoutAttributes *)layoutAttributesForDecorationViewOfKind:(NSString *)decorationViewKind atIndexPath:(NSIndexPath *)indexPath

    Параметры

    decorationViewKind

    Добрый идентификатор для указанного представления художественного оформления.

    indexPath

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

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

    Атрибуты макета представления набора для указанного представления художественного оформления.

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

  • Удобный метод для возврата атрибутов макета для набора просматривает дополнительное представление.

    Объявление

    Swift

    func layoutAttributesForSupplementaryViewOfKind(_ kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes!

    Objective C

    - (UICollectionViewLayoutAttributes *)layoutAttributesForSupplementaryViewOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath

    Параметры

    kind

    Строка, идентифицирующая тип дополнительного представления, атрибуты макета которого Вы хотите.

    indexPath

    Индексный путь для ячейки, дополнительные атрибуты макета представления которой Вы хотите.

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

    Атрибуты макета представления набора для указанного дополнительного представления.

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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