ios tabbar中间凸起_移动端开发基础【21】tabBar 配置
如果应用是一个多 tab 应用,则可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。
Tips(1)当设置 position 为 top 时,将不会显示 icon(2)tabBar 中的 list 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。(3)tabbar 切换第一次加载时可能渲染不及时,可以在每个tabbar页面的onLoad生命周期里先弹出一个等待雪花(hellouni-app使用了此方式)(4)tabbar 的页面展现过一次后就保留在内存中,再次切换 tabbar 页面,只会触发每个页面的onShow,不会再触发onLoad。(5)顶部的 tabbar 目前仅微信小程序上支持。需要用到顶部选项卡的话,建议不使用 tabbar 的顶部设置,而是自己做顶部选项卡,可参考 hello uni-app->模板->顶部选项卡。属性说明
属性 |
类型 |
必填 |
默认值 |
描述 |
平台差异说明 |
color |
HexColor |
是 |
tab 上的文字默认颜色 |
||
selectedColor |
HexColor |
是 |
tab 上的文字选中时的颜色 |
||
backgroundColor |
HexColor |
是 |
tab 的背景色 |
||
borderStyle |
String |
否 |
black |
tabbar 上边框的颜色,可选值 black/white |
App 2.3.4+ 支持其他颜色值 |
blurEffect |
String |
否 |
none |
iOS 高斯模糊效果,可选值 dark/extralight/light/none |
App 2.4.0+ 支持 |
list |
Array |
是 |
tab 的列表,详见 list 属性说明,最少2个、最多5个 tab |
||
position |
String |
否 |
bottom |
可选值 bottom、top |
top 值仅微信小程序支持 |
fontSize |
String |
否 |
10px |
文字默认大小 |
App 2.3.4+ |
iconWidth |
String |
否 |
24px |
图标默认宽度(高度等比例缩放) |
App 2.3.4+ |
spacing |
String |
否 |
3px |
图标和文字的间距 |
App 2.3.4+ |
height |
String |
否 |
50px |
tabBar 默认高度 |
App 2.3.4+ |
midButton |
Object |
否 |
中间按钮仅在 list 项为偶数时有效 |
App 2.3.4+ |
其中 list 接收一个数组,数组中的每个项都是一个对象,其属性值如下:
属性 |
类型 |
必填 |
说明 |
pagePath |
String |
是 |
页面路径,必须在 pages 中先定义 |
text |
String |
是 |
tab 上按钮文字,在 App 和 H5 平台为非必填。例如中间可放一个没有文字的+号图标 |
iconPath |
String |
否 |
图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效,不支持网络图片,不支持字体图标 |
selectedIconPath |
String |
否 |
选中时的图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px ,当 postion 为 top 时,此参数无效 |
midButton属性说明
属性 |
类型 |
必填 |
默认值 |
描述 |
width |
String |
否 |
80px |
中间按钮的宽度,tabBar 其它项为减去此宽度后平分,默认值为与其它项平分宽度 |
height |
String |
否 |
50px |
中间按钮的高度,可以大于 tabBar 高度,达到中间凸起的效果 |
text |
String |
否 |
中间按钮的文字 |
|
iconPath |
String |
否 |
中间按钮的图片路径 |
|
iconWidth |
String |
否 |
24px |
图片宽度(高度等比例缩放) |
backgroundImage |
String |
否 |
中间按钮的背景图片路径 |
midButton没有pagePath,需监听点击事件,自行处理点击后的行为逻辑。监听点击事件为调用API:uni.onTabBarMidButtonTap
tabber常见问题(1)tabbar 的默认高度,在不同平台不一样。App端的默认高度在HBuilderX 2.3.4起从56px调整为50px,与H5端统一。开发人员也可以自行设定高度,调回56px。(2)tabbar 的 js api,可有实现动态显示隐藏(如弹出层无法覆盖tabbar)、内容修改(如国际化)、item加角标等的功能。hello uni-app模板中也有具体的示例,可以参考。(3)tabbar 的 item 点击事件见页面生命周期的onTabItemTap。(4)代码跳转到tabbar页面,api只能使用uni.switchTab,不能使用uni.navigateTo、uni.redirectTo;使用navigator组件跳转时必须设置open-type="switchTab"(5)tabbar 在H5端是div模拟的,属于前端屏幕窗口的一部分,如果要使用bottom居底定位方式,应该使用css变量--window-bottom,比如悬浮在tabbar上方10px的按钮,样式如下bottom:calc(var(--window-bottom) + 10px)(6)中间带+号的tabbar模板例子,可以参考uniapp插件市场的示例(底部带加号tabbar选项卡项目模板)。可跨端,但+号不凸起。如需中间凸起,配置tabbar的midButton。(7)原生的tabbar有且只有一个且在首页。二级页如需的tab,前端自行实现。(8)若App端自定义tabbar,建议使用nvue并做成单页方式,即所有tabbar的页面内容其实写在一个nvue页面里,这样的性能体验更好。(9)微信通过webview自定义tabbar,在uni-app也支持,但仅支持微信。因该功能体验不佳,app上没有实现这个方式,而是推荐使用app提供的自定义tabbar方式,不管是原生tabbar额外的自定义配置还是nvue的单页自定义tabbar。(10) 如果是需要先登录、后进入tab页面,不需要把登陆页设为首页,首页仍然是tabbar页,可参考HBuilderX新建uni-app项目时的登陆模板(11) 前端弹出遮罩层挡不住tabbar的问题,跨端处理方式时动态隐藏tabbar。App端可以使用plus.nativeObj.view或subNVue做弹出和遮罩,可以参考插件市场提供的示例:底部原生图标分享菜单(12) 微信小程序模拟器1.02.1904090版有bug,在缩放模拟器页面百分比后,tabbar点击多次后就会卡死。真机无碍,使用时注意。
代码示例
"tabBar":{ "color": "#7A7E83", "selectedColor":"#3cc51f", "borderStyle": "black", "backgroundColor":"#ffffff", "list": [{ "pagePath":"pages/component/index", "iconPath":"static/image/icon_component.png", "selectedIconPath":"static/image/icon_component_HL.png", "text": "组件" }, { "pagePath":"pages/API/index", "iconPath":"static/image/icon_API.png", "selectedIconPath":"static/image/icon_API_HL.png", "text": "接口" }]}
ios tabbar中间凸起_移动端开发基础【21】tabBar 配置相关推荐
- web 移动端开发基础
web 移动端开发基础 文章目录 web 移动端开发基础 了解视口相关内容 meta 视口标签 掌握二倍图用法 物理像素 & 物理像素比 多倍图 二倍精灵图做法 了解移动端常见选择方案 掌握移 ...
- 移动端h5文字长按复制_移动端开发 H5 页面在 iOS手机上无法实现 长按复制文本 求解决...
移动端开发 H5 页面在 iOS手机上无法实现 长按复制文本 百度谷歌搜索的答案是 iOS手机系统自带 需要设置禁用 我们需求是要实现此功能 可是我在手机测试 并没有实现长按复制文本 之前这样设置可以 ...
- flex 左右布局_移动端开发常用布局:前端弹性布局总结
各位已经入坑的前端小伙伴,前面咱们已经给大家分享了移动端开发时候流式布局的应用场景及注意事项,今天再次给大家分享一个布局叫弹性布局,接下来咱们从如下几个方面,全方位的给大家介绍弹性布局的使用. 一:什 ...
- 一、服务端开发基础(搭建Web服务器、网络基础概念、请求响应流程、配置Apache、静态网站与动态网站)
一.建立你的第一个网站(目标) 前端开发 最终还是属于 Web 开发 中的一个分支,想要成为一名合格的前端开发人员,就必须要 充分理解Web 的概念. 构建一个专业的网站是一项巨大的工作!对于新手我们 ...
- 服务端开发基础知识点
服务端开发 服务端基础 软件结构 C/S体系结构 客户端/服务端,例如QQ.网盘 优点:交互性好,对服务器压力小,安全 缺点:服务器更新时需要同步更新客户端 B/S体系结构 浏览器/服务端,例如网站 ...
- iOS开发-实现TabBar中间凸起按钮、不规则按钮(自定义TabBar)
效果: PS:这里需要用到UIView一个分类的一些属性,参考http://blog.csdn.net/doubleface999/article/details/79085764,图标素材等自行上网 ...
- .net移动端开发_移动端开发1(前端一)
Day14 1.视口:浏览器显示内容的屏幕区域 < meta name="viewport"//视图标签 content="width"//设备宽度 in ...
- ios无痕埋点_移动端无痕埋点实践详解(二)
0x01 前言 在移动端无痕埋点实践详解(一)这篇文章大致总结了移动端无痕埋点的基本原理.主要介绍了什么是无痕埋点,无痕埋点的基础数据流程以及在Android系统上总体思路.这篇文章着重总结下无痕埋点 ...
- 移动端布局三种视口_移动端开发知识[系列] - 视口viewport
移动端H5知识[系列] - 视口viewport HTML5学堂:移动端从2012年走到今日,已经占领了互联网的半壁江山.网站开发也从PC平台向移动端平台开发发展.作为一个优秀的前端开发者,除了能够处 ...
- java移动端开发_移动端开发
1.移动端视口问题 视口是指浏览器的可视区域,移动端的视口到底是多宽呢? 现在市面上的大部分手机,比如iphone X,它的默认视口宽度为980px,而一个iphone X的屏幕宽度仅仅为375px. ...
最新文章
- h5 一镜到底_传说中的一镜到底效果,到底是怎么玩的?
- HTML5--表单标签input新增type值
- python中定义函数常用关键字_Python 中定义函数的关键字是 _________________ 。_学小易找答案...
- 由于Item category group customizing 缺失导致的BDOC error
- 数据库怎么看是什么编码_离婚了怎么发朋友圈?看你喜欢什么类型
- centos7 复制移动删除
- Prototype源码浅析——Function.prototype部分(一)
- 吐槽Javascript系列三:数组的陷阱
- 如何删除(插入)word表格下一页的空白页
- 视频采集站-免费视频资源采集工具-免费视频资源网采集
- 安卓设计师不容错过的15款实用UI界面设计工具
- 性能测试工程师职业现状分析
- 【渝粤教育】国家开放大学2018年春季 0553-21T色彩 参考试题
- SRRC认证问题合集
- c#访问其他服务器的共享文件夹,C# 实现访问网络共享文件夹
- CDbCriteria CArrayDataProvider zii.widgets.grid (1)
- 《Dreamweaver CS6 完全自学教程》笔记 第十七章:Spry 框架技术
- 计算机的音标英语怎么说,电脑的英文怎么读标准发音
- 2022年流动式起重机司机考试题库模拟考试平台操作
- 如何在REST API中使用查阅项的值作为过滤条件
热门文章
- 《Java EE 7精粹》—— 3.12 Passthrough属性和HTML5友好的标记
- 关于Android发送邮件
- Microsoft.AspNet.Identity 的简单使用
- C/C++去除字符串首尾空白字符
- 简单电脑***《菜鸟级》
- 解决嵌套块级元素垂直外边距的塌陷
- string数组转换成int数组,数组转字符串,字符串转list,list集合转字符串,删除数组中为空的元素,list转数组 数组转list
- HTML中可伸缩容器怎么设置,CSS布局神器——伸缩盒(语法篇)
- gogs 创建新的仓库
- linux落字效果代码,Linux 用echo输出带特效的字体