uni-app 3.4.5.20220408-alpha 版本安全区无法隐藏

uni-app 3.4.5.20220408-alpha 版本安全区无法隐藏

操作步骤:

在manifest.json的app-plus下配置

{
  "safearea": {
    "bottom": {
      "offset": "none" /* 去除ios底部安全区 */
    }
  }
}

预期结果:

可以隐藏安全区

实际结果:

无法隐藏

bug描述:

在manifest.json的app-plus下配置

{
  "safearea": {
    "bottom": {
      "offset": "none" /* 去除ios底部安全区 */
    }
  }
},
不生效还是会有白色的安全区
开发环境 版本号 项目创建方式
Windows Windows10 HBuilderX
iOS iOS 15
手机厂商 手机机型 页面类型
苹果 iPhone11 nvue
5 回复

就真的没有官方人员来看一下?


hx刚出了新版本,更新下试试

升级最新版本测试一下

最新版本解决了

uni-app3.4.5.20220408-alpha 版本中,如果你遇到安全区(Safe Area)无法隐藏的问题,可能是由于以下原因导致的。以下是一些可能的解决方案:

1. 检查 manifest.json 配置

manifest.json 中,确保你已经正确配置了安全区的显示与隐藏。你可以在 app-plus 节点下添加 safearea 配置:

{
  "app-plus": {
    "safearea": {
      "bottom": {
        "offset": "none"
      }
    }
  }
}

2. 使用 CSS 强制隐藏安全区

你可以通过 CSS 来强制隐藏安全区。在页面的样式文件中添加以下代码:

/* 隐藏 iOS 安全区 */
page {
  padding-bottom: constant(safe-area-inset-bottom); /* iOS 11.0 */
  padding-bottom: env(safe-area-inset-bottom); /* iOS 11.2+ */
}

/* 隐藏 Android 安全区 */
page {
  padding-bottom: 0;
}

3. 使用 uni.getSystemInfoSync() 动态调整布局

你可以使用 uni.getSystemInfoSync() 获取设备信息,并根据安全区的信息动态调整页面布局:

onLoad() {
  const systemInfo = uni.getSystemInfoSync();
  if (systemInfo.safeArea) {
    this.safeAreaBottom = systemInfo.safeArea.bottom;
    // 根据安全区信息调整布局
  }
}

4. 更新 uni-app 版本

如果你使用的是 3.4.5.20220408-alpha 版本,建议你尝试更新到最新稳定版本,因为该版本可能存在一些已知问题。你可以通过以下命令更新 uni-app

npm install -g [@vue](/user/vue)/cli
vue create -p dcloudio/uni-preset-vue my-project
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!