iOS导航自定义back按钮,制作侧滑返回效果(swift2.2)

提示

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

正文

iOS的Navigation默认“返回按钮”就是下面的情况看起来很不爽。


backbtn.png

我想实现的效果:只有“箭头”没有“文字”
Google一番之后,终于找到了答案!

在自定义的UINavigationController中

1. 重写下面的方法
func pushViewController(_ viewController: UIViewController,
               animated animated: Bool)
2. 实现leftBarButtonItem点击事件
代码:
  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当push
      viewController.hidesBottomBarWhenPushed = true
    }
    super.pushViewController(viewController, animated: animated)
  }

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

一番折腾之后实现了,朋友拿过把玩了一会儿和我说:你这个App怎么没有侧滑返回功能,你看微信、QQ都有这个功能啊!

我也觉得侧滑返回功能很不错,要搞出来的。之后又各种百度、Google,终于搞出来了,不多说,上代码。


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

// 自定义back按钮,制作侧滑返回效果
extension CustomNavigation: UIGestureRecognizerDelegate {
    
    func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
        // 手势何时有效 : 当导航控制器的子控制器个数 > 1就有效
        return self.childViewControllers.count > 1
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,837评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,462评论 25 709
  • 01 柳宗元杜撰过一个寓言故事,看完之后,你会感慨“真不愧是唐宋八大家”。 他说,有一种小虫,名唤蝜蝂。 蝜蝂者,...
    一棵花白阅读 1,276评论 9 47
  • 希望自己能把每天的所学所思记录下来,以后翻看可以印证下自己当时是否正确。人生在时间这架马车上前行,没有后退的路,只...
    William8阅读 195评论 0 0
  • 看完《贤治之春》,终于理解了为什么有人会说“宫泽贤治是日本文学史上少见的被神化的作家”。 宫泽贤治是日本的国民作家...
    犬系猫娘阅读 1,483评论 1 13

友情链接更多精彩内容