相信大家在開發(fā)中經(jīng)常會遇到這樣的需求,在編輯個人信息界面中,判斷用戶是否修改信息,如果修改,返回時則添加是否保存的提示,如果沒有修改內(nèi)容,則直接返回。
修改個人資料.gif
這里我是使用的系統(tǒng)的返回按鈕,監(jiān)聽系統(tǒng)返回的事件來處理的。
1.監(jiān)聽返回按鈕點擊事件
只需要在工程中引入UIViewController-BackButtonHandler,并實現(xiàn)方法就可以了
屏幕快照 2017-08-09 上午9.27.01.png
返回YES,代表執(zhí)行系統(tǒng)返回,返回NO不執(zhí)行。這里我在這個方法里面判斷對象是否被修改,如果被修改,則彈出提示框。
屏幕快照 2017-08-09 上午9.28.59.png
2.監(jiān)聽返回手勢的方法
控制器實現(xiàn)<UINavigationControllerDelegate,UIGestureRecognizerDelegate>
這兩個協(xié)議,
在viewWillAppear
中實現(xiàn)控制器的代理
在viewWillDisappear
把返回代理移交給topViewController
接下來在監(jiān)聽手勢的ShouldBegin
方法,當pop手勢觸發(fā)時就會調(diào)用這個方法,判斷當前的手勢是否是系統(tǒng)的返回手勢,如果是則攔截,不是則不處理。
屏幕快照 2017-08-09 上午9.35.24.png