iOS开发代码段Rason的iOS开发进阶专题shmily-iOS/Mac

截取iOS系统自带返回按钮事件

2016-03-22  本文已影响8051人  XinStar

前言

趁着刚做完应用脑子还热乎,好好的总结一下开发过程中遇到的一些坑以及解决的方法。我第一个遇到的难题就是在新建一个账单的时候,当用户点的不是保存而是系统自带的返回,我就弹出一个提示框问是否保存后再返回。相信大家开发过程中也经常会遇到这样的需求,我这里讲一下如何简单的解决这个问题吧~

解决思路

刚开始我是通过自己定义一个leftBarButtonItem来实现的,但是这个没有那个返回的箭头实在是丑啊!于是网上找各种方法,大家如果找过的可能会找到很多人直接贴一大串有些复杂的代码,重点是还都一样。。。但是机智的我最后还是发现了原作者
http://stackoverflow.com/questions/1214965/setting-action-for-back-button-in-navigation-controller/19132881#19132881
就是那个获得120个赞同的答主,他写了一个extension,你只要把那两个文件拖到你项目里,然后重写一个方法就好了

- (BOOL)navigationShouldPopOnBackButton {
    if (要弹出提示) {
        // 在这里创建UIAlertController等方法
        
        return NO;
    }
    return YES;
}

然后就可以了,感兴趣可以研究一下作者是怎么实现的,文件在作者的回答下面有下载链接,如果你不愿点开那个链接的,也可以直接从我的项目里面复制就好了,哈哈,强行安利一下我的项目,是一个记账类的APP软件,已经在github上开源了,感兴趣的可以点 https://github.com/XinStar1/AZXTallyBook
刚刚讲的那个扩展在Extension目录里面,觉得好的话可以star一下~

上一篇下一篇

猜你喜欢

热点阅读