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

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

Разработчик

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

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

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

UIViewControllerAnimatedTransitioning

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


Не применимый

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


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


Swift

import UIKit

Objective C

@import UIKit;

Доступность


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

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

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

Создайте свой объект Animator от переходящего делегата — объект, соответствующий UIViewControllerTransitioningDelegate протокол. При представлении контроллера представления, Св. стиль презентации к UIModalPresentationCustom и присвойте своего переходящего делегата в контроллере представления transitioningDelegate свойство. Контроллер представления получает Ваш объект Animator от переходящего делегата и использует его для выполнения анимаций. Можно обеспечить отдельные объекты Animator для представления и отклонения контроллера представления.

Для добавления взаимодействия с пользователем к переходу контроллера представления необходимо использовать объект Animator вместе с интерактивным объектом Animator — пользовательский объект, принимающий UIViewControllerInteractiveTransitioning протокол. Для больше при определении интерактивных переходов, посмотрите Ссылку на протокол UIViewControllerInteractiveTransitioning.

  • Говорит Вашему объекту Animator выполнять анимации перехода. (требуемый)

    Объявление

    Swift

    func animateTransition(_ transitionContext: UIViewControllerContextTransitioning)

    Objective C

    - (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext

    Параметры

    transitionContext

    Объект контекста, содержащий информацию о переходе.

    Обсуждение

    UIKit вызывает этот метод при представлении или отклонении контроллера представления. Используйте этот метод для конфигурирования анимаций, связанных с пользовательским переходом. Можно использовать основанные на представлении анимации или Базовую Анимацию для конфигурирования анимаций.

    Все анимации должны иметь место в представлении, указанном containerView свойство transitionContext. Добавьте представляемое представление (или показал, включает ли переход отклонение контроллера представления) к иерархии контейнерного представления, и установите любые анимации, Вы хотите превратить то перемещение представления в позицию. Если Вы хотите нарисовать на экран непосредственно без представления, используйте этот метод для конфигурирования a CADisplayLink объект вместо этого.

    Можно получить контроллеры представления, вовлеченные в переход от viewControllerForKey: метод transitionContext. Для получения дополнительной информации об информации, предоставленной объектом контекста, посмотрите Ссылку на протокол UIViewControllerContextTransitioning.

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

  • Говорит Вашему объекту Animator, что закончились анимации перехода.

    Объявление

    Swift

    optional func animationEnded(_ transitionCompleted: Bool)

    Objective C

    - (void)animationEnded:(BOOL)transitionCompleted

    Параметры

    transitionCompleted

    Содержит значение YEStrue если переход завершился успешно, и новый контроллер представления теперь выведен на экран или NOfalse если переход был отменен, и исходный контроллер представления все еще видим.

    Обсуждение

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

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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

    См. также

    completeTransition:

  • Спрашивает Ваш объект Animator в течение какого-то времени (в секундах) анимации перехода. (требуемый)

    Объявление

    Swift

    func transitionDuration(_ transitionContext: UIViewControllerContextTransitioning) -> NSTimeInterval

    Objective C

    - (NSTimeInterval)transitionDuration:(id<UIViewControllerContextTransitioning>)transitionContext

    Параметры

    transitionContext

    Объект контекста, содержащий информацию для использования во время перехода.

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

    Продолжительность, в секундах, Вашей пользовательской анимации перехода.

    Обсуждение

    UIKit вызывает этот метод для получения информации синхронизации для анимаций. Значение, которое Вы обеспечиваете, должно быть тем же значением, которое Вы используете при конфигурировании анимаций в Вашем animateTransition: метод. UIKit использует значение для синхронизации действий других объектов, которые могли бы быть вовлечены в переход. Например, контроллер навигации использует значение для синхронизации изменений в панели навигации.

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

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

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

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