• uni-app知识点:禁止页面返回及如何实现自定义返回逻辑、实现再次返回退出应用时不退出应用而是在后台运行、uni-app ios滑动时卡顿不流畅问题解决方案


    一、禁止页面返回

      在uni中页面的生命周期有一个 onBackPress ,只要知道这个生命周期怎么使用就可以运用了,只需要在 当前页面 加上 return true,就可以阻止当前页面返回。起初我想当然的以为是return false像阻止默认事件那样,结果一直没有效果。

    onBackPress(options) {
        ...
        return true
    }

      这里有一个自定义返回教程写的不错,可以参考:uni-app自定义返回逻辑教程:https://ask.dcloud.net.cn/article/35120

      还有比如实现连点2次退出应用

    data() {
        return {
            backButtonPress:0,    //连点2次退出应用计时
        }
    },
    
    onBackPress(options) {  
      this.backButtonPress++;
      if (this.backButtonPress > 1) { 
        plus.runtime.quit();
      } else {
        plus.nativeUI.toast('再按一次退出应用');
      } 
      setTimeout(function() {
        this.backButtonPress = 0;
      }, 1000);
      return true;
    },

    二、uni-app实现再次返回退出应用时不退出应用而是在后台运行

      如果APP需要后台驻留,用户返回到首页时会提示退出操作,我们可以不退出而是隐藏至后台,这样的话APP就会在后台运行,以下代码须写在main.js里面,弹出的内容可自定义设置。

    let main = plus.android.runtimeMainActivity();
    //为了防止快速点按返回键导致程序退出,所以重写quit方法改为隐藏至后台  
    plus.runtime.quit = function() {
        main.moveTaskToBack(false);
    };
    //重写toast方法如果内容为 ‘再次返回退出应用’ 就隐藏应用,其他正常toast 
    plus.nativeUI.toast = (function(str) {
        if (str =='再次返回退出应用') {
            plus.runtime.quit();
        } else {
            uni.showToast({
                title: '再次返回退出应用',
                icon: 'none'
            })
        }
    });

    三、uni-app ios滑动时卡顿不流畅问题解决方案

    1、将scroll-view 改为view使用overflow属性。

    2、将整个vue页面添加position:fixed;z-index:10;脱离页面的ios自带的滚动。

    3、将单独需要滚动的地方设置position:fiexd;z-index:10;

  • 相关阅读:
    通过android XML 创建图形,降低对美工的依赖
    ViewPager学习之仿微信主界面
    Linux学习日志--文件搜索命令
    蓝桥杯 历届试题 小朋友排队 【树状数组】+【逆序数】
    操作系统——IO管理
    Mac和PC在工作中管理的对比(5)
    虚拟地址空间分配
    UVA 624 CD(DP + 01背包)
    【CSS】瀑布流布局的两种方式:传统多列浮动和绝对定位布局
    外煤关注:百度收购大部分糯米股份
  • 原文地址:https://www.cnblogs.com/goloving/p/14429127.html
Copyright © 2020-2023  润新知