概述
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 文件。