iOS如何優(yōu)雅的監(jiān)聽滑動返回結(jié)果

UINavigationController說明

在iOS中的UINavigationController中,存在兩種返回操作

  • 點擊返回按鈕實現(xiàn)頁面返回
  • 側(cè)邊欄滑動返回

需求說明

在項目運營中,會頻繁遇到打開WebView的Controller操作。如果每次都創(chuàng)建新的Controller,并且創(chuàng)建WebView,會比較占用內(nèi)存。
所以現(xiàn)在想到,用個數(shù)組保存2、3個可復用的Controller。

操作描述

以上都是廢話,可以直接看下面的內(nèi)容。
在UINavigationController中的滑動返回,可能用戶滑動一半,又回到停留界面,這個操作你應(yīng)該會懂的。

失敗的解決方案

第一個想法是監(jiān)聽popViewControllerAnimated:(BOOL)animated方法。但是用了動畫效果后,這個方法針對上面說的操作就無效了。

最終的解決方案

在需要復用的Controller中,監(jiān)聽viewDidDisappear:(BOOL)animated方法

- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    if (self.navigationController == nil) {
        [APPUtils addWebViewController:self];
    }
    NSLog(@"%@: %ld, %@", self, viewCount, self.navigationController);
}

如此就可以監(jiān)聽,用戶的的確確是滑動返回了。在此基礎(chǔ)上,我們就可以做更多的監(jiān)聽操作了。

至于某歌/某度上搜索到的手勢監(jiān)聽、willMoveToParentViewController:(UIViewController *)parent,真的不是特別優(yōu)雅。

WKWebView如何優(yōu)雅的清除歷史記錄

如果對您有幫助,點個在贊再走吧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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