其他分享
首页 > 其他分享> > uniapp记录----z-paging的吸顶切换+uniapp自定义导航的实现

uniapp记录----z-paging的吸顶切换+uniapp自定义导航的实现

作者:互联网

uniapp实现自定义导航

一.pages.json配置

{
   	    "path" : "pages/tabbar/shuoshuo/shuoshuo",
   	    "style" :                                                                                    
   	    {
   	        "navigationBarTitleText": "",
   		"navigationStyle":"custom",
   	        "enablePullDownRefresh": true,
   			"app-plus": {
   			    "scrollIndicator":"none"
   			}
   	    }
   	    
   	}

二.使用graceui的页面模式进行开发

<gui-page :customHeader="true">
   	<!-- 自定义头部导航 -->
   	<view slot="gHeader">
</view>
</gui-page>

三.z-paging吸顶加切换
1.全拼模式的时候,z-paging的吸顶,会直接吸附在,手机屏幕的最上方,吸顶的tab,会和状态栏重叠交错。
2.原生导航的时候,全屏模式,会吸附在原生导航下面。但是不能自定义导航,就无法在导航中,添加丰富的内容。
3.所以要自定义导航+非全屏模式

4.z-paging的非全屏模式,需要两点配置。给z-paging组件,:fixed="false" height="1000rpx".
也就是取消全屏,并且给一个具体的高度。

四.uniapp+graceui+nvue+z-paging这种模式下的高度计算
1.状态栏高度

<script>
var graceJS = require('@/GraceUI5/js/grace.js');
export default{
	onLoad : function(){
		var systemInfo = graceJS.system();
		console.log(systemInfo);
	}
}
2.自定义导航高度 要使用元素选择,来计算自定义导航的高度。由于是nvue,要考虑使用weex里的dom模块 ![](https://www.icode9.com/i/l/?n=22&i=blog/1515769/202207/1515769-20220715002555783-1352885995.png)
//  1.获取页面主体高度
			graceJS.getRefs('guiPage', this, 0, (ref)=>{
				ref.getDomSize('guiPageBody', (e)=>{
					// console.log(e)
					// 2. 导航的高度
					// 可以 使用 graceJS.select() 函数动态获取, 也可以使用 uni.upx2px 转换已知高度
					// 轮播主体高度 = 页面高度 - 导航高度
					this.mainHeight   = e.height;
					
					console.log(this.mainHeight)
					
				});
			});

3.屏幕高度
参考第二条
4.z-paging的高度=3-2-1

标签:uniapp,自定义,高度,graceJS,----,paging,全屏,导航
来源: https://www.cnblogs.com/cn-oldboy/p/16479865.html