Flashback - 超好用第三方的iOS手势返回

github地址: https://github.com/LuckyPia/Flashback
码云地址:https://gitee.com/luckypia/flashback

效果图

IMG_1595.jpg
IMG_1596.jpg

前言

iOS的侧滑手势返回很难用有木有,而且只能从左侧返回,因为不是系统级别,也不是强制使用,还有很多App还不支持,只能羡慕Android的手势返回。为了解决该问题而制作的该库,还是希望苹果有一天能够带来系统级别的手势返回。

Install

pod 'Flashback'

Get start

  1. 启用(必要)
import Flashback

FlashbackManager.shared.isEnable = true

/// 禁用系统提供的手势返回
self.navigationController?.interactivePopGestureRecognizer?.isEnabled = false
  1. 可配置
var config = FlashbackConfig.default
// 左右侧启用
config.enablePositions = [.left, .right]
// 触发范围
config.triggerRange = 20
// 震动启用
config.vibrateEnable = true
// 震动强度
config.vibrateStyle = .light
// 指示器样式
config.style = .custom
// 指示器背景颜色
config.backgroundColor = .black
// 指示器图片颜色
config.indicatorColor = .yellow
// 上下滚动开启
config.scrollEnable = true
// 震动启用
config.vibrateEnable = true
// 震动强度
config.vibrateStyle = .light
// 忽略顶部高度(顶部不可侧滑返回)
config.ignoreTopHeight = 150
// ...
FlashbackManager.shared.config = config
  1. 可重写返回逻辑
extension ViewController {
    /// 重写返回
    override func onFlashBack() {
        super.onFlashBack()
    }
}
  1. 可前置处理(统一处理弹窗,减少代码污染)
FlashbackManager.shared.preFlashback = { [weak self] in
    guard let `self` = self else { return true }
    // 返回true继续向下执行正常逻辑,返回false终止
    return true
}
  1. 可通知返回,你可以全权接管返回逻辑
// 设置返回模式为通知
FlashbackManager.shared.config.backMode = .notify

// 通知回调
NotificationCenter.default.addObserver(forName: FlashbackManager.FlashbackNotificationName, object: nil, queue: nil) { [weak self] _ in
    guard let `self` = self else { return }
    // 执行返回逻辑
    self.navigationController?.popViewController(animated: true)
}

Existing problems

  1. 左右两侧有一部分像素用于了侧滑返回判断,所以不可点击,可通过修改triggerRange来改变触发范围大小。

Author

可通过邮件的方式联系我: 664454335@qq.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    极客学院Wiki阅读 7,459评论 0 3
  • 不知不觉易趣客已经在路上走了快一年了,感觉也该让更多朋友认识知道易趣客,所以就谢了这篇简介,已做创业记事。 易趣客...
    Physher阅读 3,463评论 1 2
  • 双胎妊娠有家族遗传倾向,随母系遗传。有研究表明,如果孕妇本人是双胎之一,她生双胎的机率为1/58;若孕妇的父亲或母...
    邺水芙蓉hibiscus阅读 3,737评论 0 2
  • 晴天,拥抱阳光,拥抱你。雨天,想念雨滴,想念你。 我可以喜欢你吗可以啊 我还可以喜欢你吗可以,可是你要知道我们不可...
    露薇霜凝阅读 1,267评论 1 2