当前位置:   article > 正文

uni-app 苹果手机底部安全区域的适配问题_uniapp 底部按钮安全区域适配

uniapp 底部按钮安全区域适配

方案一(最快速)

解决办法:利用 IOS 新增的 env() 和 constant() 特性来解决,不需要自己动态计算高度,只需将如下 CSS 代码添加到样式中即可。无法解决如果底部区域是输入框,苹果手机的输入法会把输入框遮挡的问题

  1. <!-- 底部栏 -->
  2. <view class="end-box"></view>
  1. /* 底部栏 */
  2. .end-box {
  3. position: fixed;
  4. left: 0;
  5. right: 0;
  6. bottom: 0;
  7. padding-bottom: constant(safe-area-inset-bottom);
  8. padding-bottom: env(safe-area-inset-bottom);
  9. }

方案二(动态计算)

解决办法:利用 getSystemInfo() 获取系统信息接口方法。可解决如果底部区域是输入框,苹果手机的输入法会把输入框遮挡的问题

  1. <!-- 底部栏 -->
  2. <view class="end-box" :style="'padding-bottom: ' + bottomPadding + 'px'"></view>
  1. /* 底部栏 */
  2. .end-box {
  3. position: fixed;
  4. left: 0;
  5. right: 0;
  6. bottom: 0;
  7. }
bottomPadding: 0, // 底部安全区域距离
  1. /* 获取底部安全区域 */
  2. async getSafeArea() {
  3. const res = await uni.getSystemInfo({});
  4. this.bottomPadding = res.screenHeight - res.safeArea.bottom;
  5. },

底部区域是输入框时被遮挡的问题

使用获取的 bottomPadding 字段来设置光标与键盘的距离

  1. <input
  2. v-model="commentVal"
  3. :cursor-spacing="bottomPadding || 20"
  4. placeholder="评论内容"
  5. maxlength="300"
  6. />

cursor-spacing:指定光标与键盘的距离(单位 px)。取 input 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离

input 详情:input | uni-app官网

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/152963
推荐阅读
相关标签
  

闽ICP备14008679号