前言#
趁著剛做完應(yīng)用腦子還熱乎,好好的總結(jié)一下開發(fā)過程中遇到的一些坑以及解決的方法。我第一個(gè)遇到的難題就是在新建一個(gè)賬單的時(shí)候,當(dāng)用戶點(diǎn)的不是保存而是系統(tǒng)自帶的返回,我就彈出一個(gè)提示框問是否保存后再返回。相信大家開發(fā)過程中也經(jīng)常會(huì)遇到這樣的需求,我這里講一下如何簡單的解決這個(gè)問題吧~
解決思路#
剛開始我是通過自己定義一個(gè)leftBarButtonItem來實(shí)現(xiàn)的,但是這個(gè)沒有那個(gè)返回的箭頭實(shí)在是丑啊!于是網(wǎng)上找各種方法,大家如果找過的可能會(huì)找到很多人直接貼一大串有些復(fù)雜的代碼,重點(diǎn)是還都一樣。但是機(jī)智的我最后還是發(fā)現(xiàn)了原作者http://stackoverflow.com/questions/1214965/setting-action-for-back-button-in-navigation-controller/19132881#19132881就是那個(gè)獲得120個(gè)贊同的答主,他寫了一個(gè)extension,你只要把那兩個(gè)文件拖到你項(xiàng)目里,然后重寫一個(gè)方法就好了
- (BOOL)navigationShouldPopOnBackButton {
if (要彈出提示) {
// 在這里創(chuàng)建UIAlertController等方法
return NO;
}
return YES;
}
然后就可以了,感興趣可以研究一下作者是怎么實(shí)現(xiàn)的,文件在作者的回答下面有下載鏈接,如果你不愿點(diǎn)開那個(gè)鏈接的,也可以直接從我的項(xiàng)目里面復(fù)制就好了,哈哈,強(qiáng)行安利一下我的項(xiàng)目,是一個(gè)記賬類的APP軟件,已經(jīng)在github上開源了,感興趣的可以點(diǎn) https://github.com/XinStar1/AZXTallyBook剛剛講的那個(gè)extension在Supporting file里面,覺得好的話可以star一下~