美文网首页
iOS如何优雅的监听滑动返回结果

iOS如何优雅的监听滑动返回结果

作者: 桥下醉翁 | 来源:发表于2020-09-25 15:59 被阅读0次

    UINavigationController说明

    在iOS中的UINavigationController中,存在两种返回操作

    • 点击返回按钮实现页面返回
    • 侧边栏滑动返回

    需求说明

    在项目运营中,会频繁遇到打开WebView的Controller操作。如果每次都创建新的Controller,并且创建WebView,会比较占用内存。
    所以现在想到,用个数组保存2、3个可复用的Controller。

    操作描述

    以上都是废话,可以直接看下面的内容。
    在UINavigationController中的滑动返回,可能用户滑动一半,又回到停留界面,这个操作你应该会懂的。

    失败的解决方案

    第一个想法是监听popViewControllerAnimated:(BOOL)animated方法。但是用了动画效果后,这个方法针对上面说的操作就无效了。

    最终的解决方案

    在需要复用的Controller中,监听viewDidDisappear:(BOOL)animated方法

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

    如此就可以监听,用户的的确确是滑动返回了。在此基础上,我们就可以做更多的监听操作了。

    至于某歌/某度上搜索到的手势监听、willMoveToParentViewController:(UIViewController *)parent,真的不是特别优雅。

    WKWebView如何优雅的清除历史记录

    如果对您有帮助,点个在赞再走吧

    相关文章

      网友评论

          本文标题:iOS如何优雅的监听滑动返回结果

          本文链接:https://www.haomeiwen.com/subject/qiyfuktx.html