WKPullToDismiss
示例
要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install
。
要求
Swift 5.0
安装
WKPullToDismiss 通过 CocoaPods 提供使用。要安装它,只需将以下行添加到您的 Podfile 中
pod 'WKPullToDismiss'
演示
快速开始
创建一个类型为 WKPullToDismiss
的对象,并将要消失的视图控制器以及应触发转换的视图传递给它。
pullToDismiss = WKPullToDismiss(viewController: self, dismissView: view)
如果您将 UIScrollView
作为 dismissView
参数传递,将使用 UIPanGestureRecognizer
来触发消失。否则,将创建一个新的 UIPanGestureRecognizer
并将其添加到 dismissal
视图中。请确保其他手势识别器不会干扰。另外,确保在视图控制器中保留对该对象的引用。
重要:初始化时,WKPullToDismiss
对象将自身设置为传入视图控制器上的转换代表。无需采取进一步行动。如果您有多个转换需要处理并想阅读有关 自定义转换代表 的章节。
高级
您可以在运行时进行以下调整
customScrollTriggerValue: CGFloat?
如果您使用ScrollView
作为消失的视图,可以设置一个自定义的偏移量(Y值),在此偏移量处触发转换。默认使用相应的ScrollView
的contentInset.top
值。isEnabled: Bool
定义是否使用UIPanGestureRecognizer
触发转换。默认是true
。interactionController = WKPullToDismissInteractionController()
。您可以修改转换的交互控制器及其dismissThreshold
属性。它定义了完成转换所需的百分比。默认值为 `0.3。transitionDuration: TimeInterval
。转换的持续时间。默认是0.5
。
自定义转换代表
WKPullToDismiss
对象将自身设置为传入视图控制器上的转换代表。您可以在之后更改视图控制器的转换代表,例如,如果您想处理更多的转换。这不仅需要传递给 UIViewControllerTransitioningDelegate
的相应方法给定的时间给定的交互控制器和该库的动画控制器。
func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning?`
func interactionControllerForDismissal(using animator: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning?
此库提供了类 WKPullToDismissInteractionController
和 WKPullToDismissAnimationController
,必须在这些方法中返回这些类,以使转换工作。
反馈
如果您有任何问题,请告知。可以直接联系,或者通过github。我会尽快回复。
作者
Wojtek Kordylewski
许可证
WKPullToDismiss遵循MIT许可证。更多信息请参阅LICENSE文件。