当前位置: 首页 > news >正文

uniapp自定义底部导航栏,解决下拉时候顶部空白的问题

一、背景

最近使用uniapp开发微信小程序,因为使用了自定义的顶部导航栏,所以在ios平台上(Android未测试)测试的时候,下拉的时候会出现整个页面下拉并且顶部留下大片空白的问题

二、任务:解决这个问题

经查阅资料,在这个使用自定义导航栏的页面,首先需要设置

		{"path" : "pages/test/index","style" : {"navigationBarTitleText" : "原生导航栏","navigationStyle":"custom","disableScroll":true}}

其中 “disableScroll”:true是关键,这样设置下来,可以解决问题,但是整个页面都不能滑动,这显然不合理。所以在内容展示区需要用scroll-view 来包裹,高度需要动态设置,也就是整个页面的高度-自定义导航栏的 高度

	  <scroll-view scroll-y="true" class="scrollw" :style="{height:`calc(100% - ${barheight}px)`}"refresher-enabled:refresher-triggered="refreshStatus"refresher-thresholdrefresher-default-style="white"refresher-background="#4cd964"@scrolltoupper="handleToUpper"@scrolltolower="handleToLower"@refresherrefresh="handlePullDownRefresh"><view class="content" v-for="i in count" :key="i"><view class="">顶部 刷新 {{i}}</view><view class="bootom">底部  {{i}}</view></view><view class="loading" v-if="loading">努力加载中...</view><view class="loading" v-else>已经没有更多了</view></scroll-view>

通过,@refresherrefresh和@scrolltolower可以实现自定义的下拉刷新和触底加载更多的功能

三、自定义导航栏高度

有两种方式:通过公式:自定义导航栏高度 = 状态栏高度 + 胶囊按钮高度 + (胶囊按钮距离顶部 - 状态栏高度) * 2
一、
在这里插入图片描述
二、直接用 const {safeAreaInsets} = uni.getWindowInfo() + 44(44是规定的)
自定义导航栏里的内容padding-top = 胶囊按钮距离顶部的距离,这样能使自定义导航栏里的内容始终跟胶囊按钮对齐

相关文章:

  • 决策卫生问题:考公考编考研能补救高考选取职业的错误吗
  • JavaScript 对象复制:浅拷贝与深拷贝
  • DBA工作常见问题整理
  • Vue 3 reactive 和 ref 区别及 失去响应性问题
  • Chromium 134 编译指南 macOS篇:获取源代码(四)
  • LeetCode hot 100—括号生成
  • Hyperf (Swoole)的多进程 + 单线程协程、Gin (Go)Go的单进程 + 多 goroutine 解说
  • 深入剖析 ORM:原理、优缺点、场景及多语言框架示例
  • 消除异步的传染性(代数效应)
  • ARINC818-1协议
  • 网易游戏 x Apache Doris:湖仓一体架构演进之路
  • 鸿蒙系统开发中路由使用详解
  • 【并行分布计算】Hadoop伪分布搭建
  • 【并行分布计算】Hadoop单机分布搭建
  • ubuntu docker 创建镜像 报错 dial tcp xxxx read udp xxxx i/o timeout 还有 Forbidden
  • 秘密任务 2.0:如何利用 WebSockets + DTOs 设计实时操作
  • Redis面试——常用命令
  • 【KWDB 创作者计划】_上位机知识篇---SDK
  • Python入门安装和语法基础
  • Ubuntu多用户VNC远程桌面环境搭建:从零开始的完整指南
  • 财政部:鼓励政策性银行对符合条件的城市更新项目提供支持
  • 多所院校高规格召开考研动员会,有学院考研报名率达84%
  • 家国万里·时光故事会|科学家伉俪,用玉米书写家国情怀
  • 人民日报评论员:党政机关要带头过紧日子
  • 香港今年新股集资额已超600亿港元,暂居全球首位
  • 广东高州发生山体滑坡,造成2人遇难4人送医救治1人失联