微信小程序开发中出现安全区域获取失败?

<view
    class="z-50 relative bg-[var(--background)]"
    :style="{ paddingTop: safeAreaInsets!.top + 'px' }"
  >
</view>
<script>
const { safeAreaInsets } = uni.getWindowInfo()
</script>

这是自定义导航栏中的一段代码,其中 safeAreaInsets 可以获取到安全区域。在用手机测试时发现一些奇怪的问题,如果手机打开微信后,待机比较长的时间(大概半个小时后),之后进入小程序,会发现 safeAreaInsets.top 变为 0,这就导致了导航栏和状态栏重叠。要排除这个问题需要退出微信后重新打开微信再进入小程序,这应该怎么解决?

阅读 1.3k
1 个回答

印象里真机是支持 env() 特性的,你可以用 padding-top: env(safe-area-inset-top) 实现试试。有刘海屏的设备最老的也得是 iPhoneX,肯定是支持这个特性的,不用担心兼容性问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏