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 *)presentedpresentingController:(UIViewController *)presentingsourceController:(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 *)presentedpresentingViewController:(UIViewController *)presentingsourceViewController:(UIViewController *)sourceПараметры
presentedПредставляемый контроллер представления.
presentingКонтроллер представления, представляющий контроллер представления в
presentedпараметр. Объект в этом параметре мог быть корневым контроллером представления окна, родительским контроллером представления, отмеченным как определение представленного текущего контекста или последнего контроллера представления. Этот контроллер представления может или может не совпасть с тем вsourceпараметр. Этот параметр может также бытьnilуказать, что контроллер представления представления будет определен позже.sourceКонтроллер представления, чей
presentViewController:animated:completion:метод вызвали для инициирования процесса представления.Возвращаемое значение
Пользовательский контроллер представления для управления модальным представлением.
Обсуждение
Когда Вы представляете контроллер представления с помощью
UIModalPresentationCustomстиль презентации, системные вызовы, которые этот метод и просит контроллер представления, управляющий Вашим пользовательским стилем. При реализации этого метода используйте его, чтобы создать и возвратиться, пользовательский контроллер представления возражают, что Вы хотите использовать для управления процессом представления.Если Ваша реализация этого метода возвращается, если Вы не реализуете этот метод, или
nil, система использует объект контроллера представления по умолчанию. Контроллер представления по умолчанию не добавляет представлений или содержания к иерархии представления.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
