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() -> UIViewAnimationCurveObjective 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 и позже.
