WKPullToDismiss 1.0.1

WKPullToDismiss 1.0.1

Wojtek Kordylewski 维护。



  • 作者:
  • Wojtek Kordylewski

WKPullToDismiss

Version License Platform

示例

要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install

要求

Swift 5.0

安装

WKPullToDismiss 通过 CocoaPods 提供使用。要安装它,只需将以下行添加到您的 Podfile 中

pod 'WKPullToDismiss'

演示

Output sample

快速开始

创建一个类型为 WKPullToDismiss 的对象,并将要消失的视图控制器以及应触发转换的视图传递给它。

pullToDismiss = WKPullToDismiss(viewController: self, dismissView: view)

如果您将 UIScrollView 作为 dismissView 参数传递,将使用 UIPanGestureRecognizer 来触发消失。否则,将创建一个新的 UIPanGestureRecognizer 并将其添加到 dismissal 视图中。请确保其他手势识别器不会干扰。另外,确保在视图控制器中保留对该对象的引用。

重要:初始化时,WKPullToDismiss 对象将自身设置为传入视图控制器上的转换代表。无需采取进一步行动。如果您有多个转换需要处理并想阅读有关 自定义转换代表 的章节。

高级

您可以在运行时进行以下调整

  • customScrollTriggerValue: CGFloat? 如果您使用 ScrollView 作为消失的视图,可以设置一个自定义的偏移量(Y值),在此偏移量处触发转换。默认使用相应的 ScrollViewcontentInset.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?

此库提供了类 WKPullToDismissInteractionControllerWKPullToDismissAnimationController,必须在这些方法中返回这些类,以使转换工作。

反馈

如果您有任何问题,请告知。可以直接联系,或者通过github。我会尽快回复。

作者

Wojtek Kordylewski

许可证

WKPullToDismiss遵循MIT许可证。更多信息请参阅LICENSE文件。