UIViewControllerInteractiveTransitioning
Наследование
Не применимый
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 7.0 и позже.
Чтобы позволить объекту (такому как контроллер навигации) управлять переходом контроллера представления, сконфигурируйте пользовательский класс для принятия UIViewControllerInteractiveTransitioning
протокол. Объект, поддерживающий этот протокол, вызывают интерактивным делегатом перехода.
Интерактивный делегат перехода может реагировать на сенсорные события, или к изменяющемуся во времени программируемому вводу, путем ускорения, замедляясь, или даже инвертируя прогресс перехода контроллера представления. Например, интерактивный переход на контроллере навигации мог ответить на сильно ударить жест путем перемещения контроллера представления на или прочь штабеля навигации.
Для поддержки интерактивного перехода контроллера представления необходимо также предоставить делегату аниматора перехода, который является пользовательским объектом, принимающим UIViewControllerAnimatedTransitioning
протокол. Делегат перехода и аниматор перехода, при необходимости могут быть определены в единственном пользовательском классе, но класс должен принять оба протокола.
Если Вы вместо этого хотите обеспечить фиксированную продолжительность анимированный переход контроллера представления — тот, не поддерживающий взаимодействие с пользователем — используют делегата аниматора перехода самостоятельно. Обратитесь к Ссылке на протокол UIViewControllerAnimatedTransitioning.
Для методов можно вызвать для получения контекстной информации перехода представления из Вашего startInteractiveTransition:
метод, обратитесь к Ссылке на протокол UIViewControllerContextTransitioning.
-
Вызванный, когда система должна установить интерактивные части перехода контроллера представления и запустить анимации. (требуемый)
Объявление
Swift
func startInteractiveTransition(_
transitionContext
: UIViewControllerContextTransitioning)Objective C
- (void)startInteractiveTransition:(id<UIViewControllerContextTransitioning>)
transitionContext
Параметры
transitionContext
Объект контекста, содержащий информацию о переходе.
Обсуждение
Ваша реализация этого метода должна использовать данные в
transitionContext
параметр, чтобы сконфигурировать пользовательскую интерактивность для перехода и затем запустить анимации. При отслеживании взаимодействия с пользователем код обработки событий должен регулярно вызывать объект контекстаupdateInteractiveTransition:
метод для создания отчетов относительно того, сколько из перехода теперь завершено. Если события указывают, что пользователь отменил переход, вызовитеcancelInteractiveTransition
метод. Если события указывают, что переход закончился, вызовитеfinishInteractiveTransition
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Вызванный, когда системе нужна кривая завершения анимации для интерактивного перехода контроллера представления.
Объявление
Swift
optional func completionCurve() -> UIViewAnimationCurve
Objective C
- (UIViewAnimationCurve)completionCurve
Возвращаемое значение
Значение по умолчанию
UIViewAnimationCurveEaseInOut
, с другими возможными значениями, описанными вUIViewAnimationCurve
введите определение.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Вызванный, когда системе нужна скорость, на которой можно завершить интерактивный переход, после того, как интерактивная часть закончена.
Возвращаемое значение
Значение по умолчанию
1.0
, который соответствует общей (неинтерактивной) продолжительности перехода, масштабируемой процентом остающегося перехода. Значение должно быть больше, чем0.0
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.