AnimatedTransition
open class AnimatedTransition: UIPercentDrivenInteractiveTransition,
UIViewControllerAnimatedTransitioning,
UIViewControllerTransitioningDelegate,
UINavigationControllerDelegate
转场动画类,默认透明度变化
-
创建系统转场单例,不支持交互手势转场
Declaration
Swift
public static let system: AnimatedTransition
-
设置动画句柄
Declaration
Swift
open var transitionBlock: ((AnimatedTransition) -> Void)?
-
动画持续时间,必须大于0,默认0.35秒(默认设置completionSpeed为0.35)
Declaration
Swift
open var transitionDuration: TimeInterval
-
获取动画类型,默认根据上下文判断
Declaration
Swift
open var transitionType: AnimatedTransitionType { get set }
-
创建动画转场
Declaration
Swift
public override init()
-
创建动画句柄转场
Declaration
Swift
public convenience init(block: ((AnimatedTransition) -> Void)?)
-
是否启用交互pan手势进行pop|dismiss,默认NO。可使用父类属性设置交互动画
Declaration
Swift
open var interactEnabled: Bool { get set }
-
是否启用screenEdge交互手势,默认NO,gestureRecognizer加载前设置生效
Declaration
Swift
open var interactScreenEdge: Bool
-
指定交互pan手势对象,默认PanGestureRecognizer,可设置交互方向,滚动视图等
Declaration
Swift
open var gestureRecognizer: UIPanGestureRecognizer { get set }
-
是否正在交互中,手势开始才会标记为YES,手势结束标记为NO
Declaration
Swift
open private(set) var isInteractive: Bool { get }
-
自定义交互句柄,可根据手势state处理不同状态的交互,返回YES执行默认交互,返回NO不执行。默认为空,执行默认交互
Declaration
Swift
open var interactBlock: ((UIPanGestureRecognizer) -> Bool)?
-
自定义dismiss关闭动画完成回调,默认nil
Declaration
Swift
open var dismissCompletion: (() -> Void)?
-
手工绑定交互控制器,添加pan手势,需要vc.view存在时调用才生效。默认自动绑定,如果自定义interactBlock,必须手工绑定
Declaration
Swift
open func interact(with viewController: UIViewController)
-
是否启用默认展示控制器,启用后自动设置presentationBlock返回PresentationController,默认NO
Declaration
Swift
open var presentationEnabled: Bool { get set }
-
设置展示控制器创建句柄,自定义弹出效果。present时建议设置modalPresentationStyle为Custom
Declaration
Swift
open var presentationBlock: ((UIViewController, UIViewController?) -> UIPresentationController)?
-
Undocumented
Declaration
Swift
open func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning?
-
Undocumented
Declaration
Swift
open func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning?
-
Undocumented
Declaration
Swift
open func interactionControllerForPresentation(using animator: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning?
-
Undocumented
Declaration
Swift
open func interactionControllerForDismissal(using animator: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning?
-
Undocumented
Declaration
Swift
open func presentationController(forPresented presented: UIViewController, presenting: UIViewController?, source: UIViewController) -> UIPresentationController?
-
Undocumented
Declaration
Swift
open func navigationController(_ navigationController: UINavigationController, animationControllerFor operation: UINavigationController.Operation, from fromVC: UIViewController, to toVC: UIViewController) -> UIViewControllerAnimatedTransitioning?
-
Undocumented
Declaration
Swift
open func navigationController(_ navigationController: UINavigationController, interactionControllerFor animationController: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning?
-
Undocumented
Declaration
Swift
open func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval
-
Undocumented
Declaration
Swift
open func animateTransition(using transitionContext: UIViewControllerContextTransitioning)
-
转场上下文,只读
Declaration
Swift
open private(set) weak var transitionContext: UIViewControllerContextTransitioning? { get }
-
标记动画开始(自动添加视图到容器)
Declaration
Swift
open func start()
-
执行动画,子类重写,可选
Declaration
Swift
open func animate()
-
自动标记动画完成(根据transitionContext是否被取消判断)
Declaration
Swift
open func complete()