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,269評論 0 3
  • 不知不覺易趣客已經在路上走了快一年了,感覺也該讓更多朋友認識知道易趣客,所以就謝了這篇簡介,已做創業記事。 易趣客...
    Physher閱讀 3,441評論 1 2
  • 雙胎妊娠有家族遺傳傾向,隨母系遺傳。有研究表明,如果孕婦本人是雙胎之一,她生雙胎的機率為1/58;若孕婦的父親或母...
    鄴水芙蓉hibiscus閱讀 3,722評論 0 2
  • 晴天,擁抱陽光,擁抱你。雨天,想念雨滴,想念你。 我可以喜歡你嗎可以啊 我還可以喜歡你嗎可以,可是你要知道我們不可...
    露薇霜凝閱讀 1,239評論 1 2