UIViewControllerTransitioningDelegate
Наследование
Не применимый
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 7.0 и позже.
Объект, реализующий UIViewControllerTransitioningDelegate
протокол продает объекты, используемые для управления фиксированной длиной или интерактивным переходом между контроллерами представления. Когда Вы захотите представить контроллер представления с помощью пользовательского модального типа презентации, установите modalTransitionStyle
свойство к UIModalPresentationCustom
и присвойте объект, соответствующий этому протоколу к transitioningDelegate
свойство. При представлении того контроллера представления UIKit запрашивает переходящего делегата к объектам использовать при анимации контроллера представления в позицию.
При реализации переходящего объекта делегата можно возвратить различные объекты Animator в зависимости от того, представляется ли контроллер представления или отклоняется. Все переходы используют объект Animator перехода — объект, соответствующий UIViewControllerAnimatedTransitioning
протокол — для реализации основных анимаций. Объект Animator перехода выполняет ряд анимаций за конечный промежуток времени. Если Вы хотите использовать сенсорный ввод или другое взаимодействие с пользователем для управления синхронизацией анимации, можно также обеспечить интерактивный объект Animator — объект, соответствующий UIViewControllerInteractiveTransitioning
протокол — для обновления прогресса анимаций. Можно обеспечить отдельные объекты Animator для представления и отклонения контроллера представления.
Для пользовательских модальных стилей перехода можно обеспечить a UIPresentationController
объект в дополнение к объектам Animator. Система создает Ваш контроллер представления прежде, чем представить контроллер представления и сохраняет ссылку на тот объект, пока не отклонен контроллер представления. Поскольку его существование расширяется вне продолжительности жизни или объекта Animator, можно использовать контроллер представления для координирования аспектов представления или процесса увольнения, который было бы трудно сделать иначе. Например, если Ваш пользовательский стиль перехода включает отображение отдельного теневого представления как фон к содержанию контроллера представления, контроллер представления может создать теневое представление и показать его и скрыть его в подходящее время.
-
animationControllerForPresentedController (_: presentingController:sourceController:) - animationControllerForPresentedController:presentingController:sourceController:
Просит Ваш делегат к объекту Animator перехода использовать при представлении контроллера представления.
Объявление
Swift
optional func animationControllerForPresentedController(_
presented
: UIViewController, presentingControllerpresenting
: UIViewController, sourceControllersource
: UIViewController) -> UIViewControllerAnimatedTransitioning?Objective C
- (id<UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)
presented
presentingController:(UIViewController *)presenting
sourceController:(UIViewController *)source
Параметры
presented
Объект контроллера представления, собирающийся быть представленным на экране.
presenting
Контроллер представления, представляющий контроллер представления в
presented
параметр. Объект в этом параметре мог быть корневым контроллером представления окна, родительским контроллером представления, отмеченным как определение представленного текущего контекста или последнего контроллера представления. Этот контроллер представления может или может не совпасть с тем вsource
параметр.source
Контроллер представления, чей
presentViewController:animated:completion:
метод вызвали.Возвращаемое значение
Объект Animator для использования при представлении контроллера представления или
nil
если Вы не хотите представлять контроллер представления с помощью пользовательского перехода. Объект, который Вы возвращаете, должен быть способен к выполнению анимации фиксированной длины, которая не является интерактивной.Обсуждение
Используйте этот метод, чтобы создать и возвратить объект, реализующий методы
UIViewControllerAnimatedTransitioning
протокол. Ваша реализация того протокола должна анимировать появлениеpresented
просмотрите представление контроллера на экране. Используйтеpresented
,presenting
, иsource
параметры, чтобы инициализировать Ваш объект Animator или выполнить любые задачи, необходимые для подготовки анимаций перехода. Можно возвратитьсяnil
от этого метода, если Вы не хотите реализовывать пользовательскую анимацию перехода для указанного набора контроллеров представления.Для получения информации о реализации Вашего объекта Animator перехода посмотрите Ссылку на протокол UIViewControllerAnimatedTransitioning.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Просит Ваш делегат к объекту Animator перехода использовать при отклонении контроллера представления.
Объявление
Swift
optional func animationControllerForDismissedController(_
dismissed
: UIViewController) -> UIViewControllerAnimatedTransitioning?Objective C
- (id<UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)
dismissed
Параметры
dismissed
Объект контроллера представления, собирающийся быть отклоненным.
Возвращаемое значение
Объект Animator для использования при отклонении контроллера представления или
nil
если Вы не хотите отклонять контроллер представления с помощью пользовательского перехода. Объект, который Вы возвращаете, должен быть способен к выполнению анимации фиксированной длины, которая не является интерактивной.Обсуждение
Используйте этот метод, чтобы создать и возвратить объект, реализующий методы
UIViewControllerAnimatedTransitioning
протокол. Ваша реализация того протокола должна анимировать исчезновениеdismissed
просмотрите представление контроллера с экрана. Используйтеdismissed
параметр, чтобы инициализировать Ваш объект или выполнить любые задачи, необходимые для подготовки анимаций перехода. Можно возвратитьсяnil
от этого метода, если Вы не хотите реализовывать пользовательскую анимацию перехода при отклонении контроллеров представления.Для получения дополнительной информации о реализации объекта Animator перехода посмотрите Ссылку на протокол UIViewControllerAnimatedTransitioning.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Просит Ваш делегат к интерактивному объекту Animator использовать при представлении контроллера представления.
Объявление
Swift
optional func interactionControllerForPresentation(_
animator
: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning?Objective C
- (id<UIViewControllerInteractiveTransitioning>)interactionControllerForPresentation:(id<UIViewControllerAnimatedTransitioning>)
animator
Параметры
animator
Объект Animator перехода, возвращенный Вашим
animationControllerForPresentedController:presentingController:sourceController:
метод.Возвращаемое значение
Интерактивный объект Animator для использования для управления синхронизацией перехода или
nil
если Вы не хотите поддерживать интерактивные переходы.Обсуждение
Используйте этот метод, чтобы создать и возвратить объект, реализующий методы
UIViewControllerInteractiveTransitioning
протокол. Реализация того протокола должна сконфигурировать код обработки событий, требуемый управлять появлением целевого контроллера представления. Можно возвратитьсяnil
от этого метода, если Вы не хотите к анимациям быть интерактивными.Для получения дополнительной информации о реализации интерактивного объекта Animator посмотрите Ссылку на протокол UIViewControllerInteractiveTransitioning.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Просит Ваш делегат к интерактивному объекту Animator использовать при отклонении контроллера представления.
Объявление
Swift
optional func interactionControllerForDismissal(_
animator
: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning?Objective C
- (id<UIViewControllerInteractiveTransitioning>)interactionControllerForDismissal:(id<UIViewControllerAnimatedTransitioning>)
animator
Параметры
animator
Объект Animator перехода, возвращенный Вашим
animationControllerForDismissedController:
метод.Возвращаемое значение
Объект Animator, реализующий код, должен был в частности управлять интерактивными переходами или
nil
если Вы не хотите поддерживать интерактивные переходы.Обсуждение
Используйте этот метод, чтобы создать и возвратить объект, реализующий методы
UIViewControllerInteractiveTransitioning
протокол. Реализация того протокола должна сконфигурировать код обработки событий, требуемый управлять исчезновением целевого контроллера представления. Можно возвратитьсяnil
от этого метода, если Вы не хотите к анимациям быть интерактивными.Для получения дополнительной информации о реализации интерактивного объекта Animator посмотрите Ссылку на протокол UIViewControllerInteractiveTransitioning.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
presentationControllerForPresentedViewController (_: presentingViewController:sourceViewController:) - presentationControllerForPresentedViewController:presentingViewController:sourceViewController:
Просит Ваш делегат к пользовательскому контроллеру представления использовать для управления иерархией представления при представлении контроллера представления.
Объявление
Swift
optional func presentationControllerForPresentedViewController(_
presented
: UIViewController, presentingViewControllerpresenting
: UIViewController!, sourceViewControllersource
: UIViewController) -> UIPresentationController?Objective C
- (UIPresentationController *)presentationControllerForPresentedViewController:(UIViewController *)
presented
presentingViewController:(UIViewController *)presenting
sourceViewController:(UIViewController *)source
Параметры
presented
Представляемый контроллер представления.
presenting
Контроллер представления, представляющий контроллер представления в
presented
параметр. Объект в этом параметре мог быть корневым контроллером представления окна, родительским контроллером представления, отмеченным как определение представленного текущего контекста или последнего контроллера представления. Этот контроллер представления может или может не совпасть с тем вsource
параметр. Этот параметр может также бытьnil
указать, что контроллер представления представления будет определен позже.source
Контроллер представления, чей
presentViewController:animated:completion:
метод вызвали для инициирования процесса представления.Возвращаемое значение
Пользовательский контроллер представления для управления модальным представлением.
Обсуждение
Когда Вы представляете контроллер представления с помощью
UIModalPresentationCustom
стиль презентации, системные вызовы, которые этот метод и просит контроллер представления, управляющий Вашим пользовательским стилем. При реализации этого метода используйте его, чтобы создать и возвратиться, пользовательский контроллер представления возражают, что Вы хотите использовать для управления процессом представления.Если Ваша реализация этого метода возвращается, если Вы не реализуете этот метод, или
nil
, система использует объект контроллера представления по умолчанию. Контроллер представления по умолчанию не добавляет представлений или содержания к иерархии представления.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.