iOS導(dǎo)航自定義back按鈕,制作側(cè)滑返回效果(swift2.2)

提示

如果想要適配Swift3.0,或者Objective-C的自己稍作修改就行。(實(shí)在搞不定的可以私聊我...)

正文

iOS的Navigation默認(rèn)“返回按鈕”就是下面的情況看起來(lái)很不爽。


backbtn.png

我想實(shí)現(xiàn)的效果:只有“箭頭”沒有“文字”
Google一番之后,終于找到了答案!

在自定義的UINavigationController中

1. 重寫下面的方法
func pushViewController(_ viewController: UIViewController,
               animated animated: Bool)
2. 實(shí)現(xiàn)leftBarButtonItem點(diǎn)擊事件
代碼:
  override func pushViewController(viewController: UIViewController, animated: Bool) {
    // 自定義back按鈕
    if viewControllers.count != 0 {
      viewController.navigationItem.leftBarButtonItem =
        UIBarButtonItem(image: UIImage(named: "back.pdf")?.imageWithRenderingMode(.AlwaysOriginal),
                        style: .Done, target: self, action: Selector.backAction)
      // 隱藏tabBar當(dāng)push
      viewController.hidesBottomBarWhenPushed = true
    }
    super.pushViewController(viewController, animated: animated)
  }

  // back按鈕返回的事件
  func back() {
    popViewControllerAnimated(true)
  }

一番折騰之后實(shí)現(xiàn)了,朋友拿過(guò)把玩了一會(huì)兒和我說(shuō):你這個(gè)App怎么沒有側(cè)滑返回功能,你看微信、QQ都有這個(gè)功能?。?/p>

我也覺得側(cè)滑返回功能很不錯(cuò),要搞出來(lái)的。之后又各種百度、Google,終于搞出來(lái)了,不多說(shuō),上代碼。


    override func viewDidLoad() {
        super.viewDidLoad()
        // 設(shè)置interactivePopGestureRecognizer委托
        interactivePopGestureRecognizer?.delegate = self
    }

// 自定義back按鈕,制作側(cè)滑返回效果
extension CustomNavigation: UIGestureRecognizerDelegate {
    
    func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
        // 手勢(shì)何時(shí)有效 : 當(dāng)導(dǎo)航控制器的子控制器個(gè)數(shù) > 1就有效
        return self.childViewControllers.count > 1
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,228評(píng)論 4 61
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評(píng)論 25 709
  • 01 柳宗元杜撰過(guò)一個(gè)寓言故事,看完之后,你會(huì)感慨“真不愧是唐宋八大家”。 他說(shuō),有一種小蟲,名喚蝜蝂。 蝜蝂者,...
    一棵花白閱讀 1,279評(píng)論 9 47
  • 希望自己能把每天的所學(xué)所思記錄下來(lái),以后翻看可以印證下自己當(dāng)時(shí)是否正確。人生在時(shí)間這架馬車上前行,沒有后退的路,只...
    William8閱讀 195評(píng)論 0 0
  • 看完《賢治之春》,終于理解了為什么有人會(huì)說(shuō)“宮澤賢治是日本文學(xué)史上少見的被神化的作家”。 宮澤賢治是日本的國(guó)民作家...
    犬系貓娘閱讀 1,493評(píng)論 1 13

友情鏈接更多精彩內(nèi)容