uniapp h5 tabBar兼容IOS手机底部黑线

2024-01-08 01:50

本文主要是介绍uniapp h5 tabBar兼容IOS手机底部黑线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

uniapp 兼容IOS手机底部黑线 IOS苹果手机有很多款手机底部都有一条黑线。底部的tabbar 导航栏如果遇到IOS手机则会出现问题。 因为我这边的tabbar导航栏是自己写的,不是用的uniapp自带的,所以如果遇到IOS手机底部有黑线的这种,需要将tabbar导航栏的高度调整一下才可以。 除此之外还有些页面,底部有个按钮之类的,也是需要做兼容处理的。

在这里插入图片描述

uni-app:iPhone的底部安全区域

padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
uni.getSysteminfo({success: res => {let safeArea = res.safeAreaInsets.bottom;}
})

该APi返回一个对象,包含 top right bottom left width height,其中bottom为安全区域高度

对应的兼容情况如下,uni-app的版本2.5.3+使用safeAreaInsets值

safeArea 在竖屏正方向下的安全区域 App、H5、微信小程序
safeAreaInsets 在竖屏正方向下的安全区域插入位置(2.5.3+) App、H5、微信小程序

uniapp自定义tabBar方案

一、pages.json文件中添加tarBar

二、把原生的tabBar隐藏起来

三、自定义一个tabBar组件

        //重点代码

        height: 50px;
        padding-bottom: env(safe-area-inset-bottom); // 适配iphoneX的底部
        padding-bottom: env(safe-area-inset-bottom); /*兼容 IOS>11.2*/

<template><view class="tab-bar"><viewv-for="(item, index) in list":key="index"class="tab-bar-item"@click="switchTab(item, index)"><imageclass="tab_img":src="selected === index ? item.selectedIconPath : item.iconPath"></image><view class="tab_text" :style="{ color: selected === index ? selectedColor : color }">{{ item.text }}</view></view></view>
</template><script>
export default {props: {selected: {// 当前选中的tab indextype: Number,default: 0}},data() {return {color: '#A1A1A1',selectedColor: '#F8A400',list: [{pagePath: '/pages/pointsMall/pointsMall',text: '商城',iconPath: '/static/tab_icons/cate.png',selectedIconPath: '/static/tab_icons/cate-active.png'},{pagePath: '/pages/mine/mine',text: '我的',iconPath: '/static/tab_icons/my.png',selectedIconPath: '/static/tab_icons/my-active.png'}]};},methods: {switchTab(item, index) {console.log('item', item);console.log('index', index);uni.reLaunch({url: item.pagePath});}}
};
</script><style lang="scss">
.tab-bar {position: fixed;bottom: -1px;left: 0;right: 0;background-color: transparent;display: flex;justify-content: center;align-items: center;border-top-right-radius: 20px;.tab-bar-item {height: 50px;padding-bottom: env(safe-area-inset-bottom); // 适配iphoneX的底部padding-bottom: env(safe-area-inset-bottom); /*兼容 IOS>11.2*/background: white;flex: 1;text-align: center;display: flex;justify-content: center;align-items: center;flex-direction: row;.tab_img {width: 50rpx;height: 50rpx;}.tab_text {font-size: 20rpx;margin-left: 9rpx;}}
}
.tab-bar-item:first-child {border-top-right-radius: 20px;
}
.tab-bar-item:last-child {border-top-left-radius: 20px;
}
</style>

四、引用组件

五、路由跳转

这篇关于uniapp h5 tabBar兼容IOS手机底部黑线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/581946

相关文章

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Python自动化处理手机验证码

《Python自动化处理手机验证码》手机验证码是一种常见的身份验证手段,广泛应用于用户注册、登录、交易确认等场景,下面我们来看看如何使用Python自动化处理手机验证码吧... 目录一、获取手机验证码1.1 通过短信接收验证码1.2 使用第三方短信接收服务1.3 使用ADB读取手机短信1.4 通过API获取

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序

cell phone teardown 手机拆卸

tweezer 镊子 screwdriver 螺丝刀 opening tool 开口工具 repair 修理 battery 电池 rear panel 后盖 front and rear cameras 前后摄像头 volume button board 音量键线路板 headphone jack 耳机孔 a cracked screen 破裂屏 otherwise non-functiona

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:'error'是设置我们失败的logo 设置的文字上限是7个文字,如果需要设置的提示文字过长就需要设置icon并给