BlowinSwiper 1.0.14

BlowinSwiper 1.0.14

Takuma Horiuchi维护。



Platform Swift Cocoapods Carthage compatible License

概述

BlowinSwiper使您可以从屏幕上的任何位置向左滑动以返回UINavigationController
我开发了BlowinSwiper来处理各种手势。但只是向右滑动...

功能

在这个库中,我考虑了如何处理水平滚动。它类似于Twitter客户端应用上的搜索屏幕。
这是右边的屏幕。样本是考虑如何处理SwipeMenuViewController

  • 支持iPhone、iPad和iPhone X!🎉








要求

  • Xcode 9.0+
  • iOS 10+
  • Swift 4.0+

安装

CocoaPods

pod 'BlowinSwiper'

Carthage

github "horitaku46/BlowinSwiper"

用法

详见示例

常规

《1》 请将 UIGestureRecognizerDelegate 添加到 UINavigationController。因为要启用边缘滑动返回。

import UIKit

final class NavigationController: UINavigationController {
    override func viewDidLoad() {
        super.viewDidLoad()
        interactivePopGestureRecognizer?.delegate = self
    }
}

extension NavigationController: UIGestureRecognizerDelegate {
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
                           shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }
}

《2》 请将 BlowinSwipeable 设置为 UIViewController,并在 viewDidAppear 中设置 configureSwipeBack()

import UIKit

final class ViewController: UIViewController, BlowinSwipeable {

    var blowinSwiper: BlowinSwiper?

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        configureSwipeBack()
    }
}

水平滚动处理

《1》 请执行常规部分《1》。
《2》 请参考以下源代码。
BlowinSwipeable 设置为 UIViewController
viewDidAppear 中设置 configureSwipeBack(isLowSensitivity: true)enabledRecognizeSimultaneously(scrollView: swipeMenuView.contentScrollView)
viewDidDisappear 中设置 disabledRecognizeSimultaneously()

import UIKit

final class ViewController: UIViewController, BlowinSwipeable {

    var blowinSwiper: BlowinSwiper?

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        configureSwipeBack(isInsensitive: true)
        enabledRecognizeSimultaneously(scrollView: swipeMenuView.contentScrollView)
    }

    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        disabledRecognizeSimultaneously()
    }
}

extension MenuViewController: SwipeMenuViewDelegate {
    func swipeMenuViewDidScroll(_ contentScrollView: UIScrollView) { // added itself to this delegate.
        handleScrollRecognizeSimultaneously(scrollView: contentScrollView)
    }
}

作者

Takuma Horiuchi

许可证

BlowinSwiper 使用 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。