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

uniapp写移动端常见问题汇总

1. 手机顶部状态栏遮挡

写在需要的地方

<view class="status_bar" style="height: var(--status-bar-height); width: 100%;">

2. 手机顶部状态栏字体颜色

// pages.json
"statusBarStyle": "light",

3. 背景覆盖全屏

page{width: 100%;height: 100%;
}
.index {width: 100%;height: 100%;background: url("@/static/1-bj.png") no-repeat center;
}

4. 手机端禁止拖拽页面

// pages.json
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages{"path": "pages/index/index","style": {"app-plus": {"bounce": "none"}}}
],

5. 手机端隐藏顶部状态栏和底部按键

onShow: function() {// #ifdef APP-PLUS// 隐藏顶部电池,时间等信息plus.navigator.setFullscreen(true);//隐藏虚拟按键plus.navigator.hideSystemNavigation()// #endif
},

6. 绝对定位计算位置

const bear_box = this.$el.querySelector(".bear_box")
const shovel = this.$el.querySelector(".shovel1")
const sho = this.$el.querySelector(".shovel")
const stick = this.$el.querySelector(".stick")let len = stick.offsetHeight + sho.offsetHeight
console.log("整个铲子长度:", len)
let top = len * Math.cos(this.deg * Math.PI / 180)
console.log("铲子高度", top)
let left1 = len * Math.sin(this.deg * Math.PI / 180)
console.log("铲子宽度", -left1)
console.log("铲子左侧位置:", bear_box.offsetLeft + shovel.offsetLeft - left1)
console.log("铲子上侧位置:", bear_box.offsetTop + shovel.offsetTop + top)

或者

getElementInfo(className) {// 创建选择器对象const query = uni.createSelectorQuery().in(this);let eleInfo// 选择我们想要的元素query.select(className).boundingClientRect(data => {if (data) {eleInfo = data}}).exec(); // 执行选择器查询return eleInfo
}const shovel = this.getElementInfo(".shovel")
console.log("整个铲子长度:", shovel)

7. 获取整个屏幕宽高

getDeviceInfo() {const systemInfo = uni.getSystemInfoSync();this.screenWidth = systemInfo.screenWidththis.screenHeight = systemInfo.screenHeight
},

8. 获取元素信息

因为有时候获取不到,所以用同步

async getElementInfo(className) {return new Promise((resolve, reject) => {// 创建选择器对象const query = uni.createSelectorQuery().in(this);// 选择我们想要的元素query.select(className).boundingClientRect(data => {if (data) {resolve(data);} else {reject(new Error('如果没有获取到数据,返回错误'));}}).exec(); // 执行选择器查询});
}const timer = setInterval(async ()=>{const shovel = await this.getElementInfo(".shovel")
}, 20)

9. 碰撞检测

碰撞对象的中心坐标减去被碰撞对象的中心坐标的绝对值,
碰撞对象宽度/高度的一半加被碰撞对象宽度/高度的一半。
如果后者(高度与宽度同时)大于前者,两者相撞。
(该功能需要极短时间重复执行)

xCenter(Object)是一个取得jQuery对象相对父元素x轴坐标加上自身元素一半宽度值的函数
yCenter(Object)是一个取得jQuery对象相对父元素y轴坐标加上自身元素一半宽度值的函数

Math.abs(xCenter(碰撞对象) - xCenter(被碰撞对象)) < hWidth(碰撞对象) + hWidth(被碰撞对象)
&& Math.abs(yCenter(碰撞对象) - yCenter(被碰撞对象)) < hHeight(碰撞对象) + hHeight(被碰撞对象)

相关文章:

uniapp写移动端常见问题汇总

1. 手机顶部状态栏遮挡 写在需要的地方 <view class"status_bar" style"height: var(--status-bar-height); width: 100%;">2. 手机顶部状态栏字体颜色 // pages.json "statusBarStyle": "light",3. 背景覆盖全屏 page{widt…...

Linux运维排查常见故障_在tmp目录下有大量包含picture_ 的临时文件,每天晚上2 30需要对一天前的文件进行

echo“”>>/etc/security/limits.conf echo“*softnproc65535″>>/etc/security/limits.conf echo“*hardnproc65535″>>/etc/security/limits.conf echo“*softnofile65535″>>/etc/security/limits.conf echo“*hardnofile65535″>>/etc/secur…...

基于SpringBoot的智能制造云平台系统的设计与实现计算机毕设

一、选题背景与意义&#xff08;300字左右&#xff09; 根据工业4.0智能制造生态链中云工厂在实际生产当中的工作流程进行充分调研和整理出来的&#xff0c;描述最终用户在本系统中对于生产订单的处理、排产、以及生产的完整在线处理流程和业务需求的文档。 针对制造业而言&a…...

论文翻译:arxiv-2024 Benchmarking Benchmark Leakage in Large Language Models

Benchmarking Benchmark Leakage in Large Language Models https://arxiv.org/abs/2404.18824 在大型语言模型中基准测试泄露的基准测试 文章目录 在大型语言模型中基准测试泄露的基准测试摘要1 引言 图1&#xff1a;不同模型在基准测试的训练集上进行逐字训练相对于测试集以…...

十二、新版UI

一、UI Toolkit 这个组件是新版的UI系统 创建了一个新的UIBuild&#xff0c;在单独的场景中打开 未来Unity会以这个为基准。 缺点&#xff1a;目前没有Animator&#xff0c;做不了动画&#xff1b;没法加shader...

Path系统环境变量和CLASSPATH环境变量

Path系统环境变量 概述&#xff1a;Path环境变量不是java的&#xff0c;它隶属于windows操作系统 作用&#xff1a; PATH环境变量实际上就是给windows操作系统指路的。 在Path环境变量中有很多路径&#xff0c;路径和路径之间采用 分号(;) 隔开在DOS命令窗口中输入一条DOS命…...

自然语言处理系列六十六》对话机器人项目实战》对话机器人原理与介绍

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列六十六对话机器人项目实战》对话机器人原理与介…...

解码数字化转型顶层规划(附236页PPT:xx企业数字化转型项目顶层规划方案)

写在前面&#xff1a;PPT分享见后文~ 企业数字化转型顶层规划的制定是一个系统性的过程&#xff0c;需要综合考虑多个方面。以下是制定企业数字化转型顶层规划的一些关键步骤和要点&#xff0c;以供参考&#xff1a; 1、明确数字化转型战略定位&#xff1a; 将数字化转型作为…...

无需温度修正,测值准确可靠 GEO ACxxxx型振弦式锚索测力计

无需温度修正&#xff0c;测值准确可靠 GEO ACxxxx型振弦式锚索测力计 精准稳定的振弦式传感器&#xff0c;ACxxxx型振弦式锚索测力计&#xff0c;是长期监测预应力锚索压力的不二选择。采用特制应变计作为传感部件&#xff0c;无需温度修正&#xff0c;测值准确可靠。该传感器…...

shell脚本【一、 特殊变量/子串/特殊扩展变量/父子shell/内置命令、外置命令】

特殊变量 位置参数的获取 $0 获取shell脚本文件名&#xff0c;以及脚本路径&#xff1b;$n 获取shell脚本的第n个参数&#xff0c;n在1&#xff5e;9之间&#xff0c;如$1$2$9,大于9则需要写 ${10}&#xff1b;$# 获取执行的shell脚本后面的参数总个数&#xff1b;$* 获取she…...

服务器禁用远程(22)

vim /etc/ssh/sshd_config 修改 ListenAddress 0.0.0.0 为ListenAddress localhost 修改完后 重启一下sshd systemctl restart sshd 修改就生效了...

Docker 进阶构建:镜像、网络与仓库管理

目录 三. docker镜像构建 1. docker镜像结构 2. 镜像运行的基本原理 3. 镜像获得方式 4. 镜像构建 5. Dockerfile实例 6. 镜像优化方案 6.1. 镜像优化策略 6.2. 镜像优化示例:缩减镜像层 6.3. 镜像优化示例:多阶段构建 6.4. 镜像优化示例:使用最精简镜像 四. docke…...

opencv学习:图像轮廓识别及代码实现

图像轮廓 1.获取图像轮廓 cv2.findContours() 函数是 OpenCV 库中用于检测图像中轮廓的函数。它可以检测到图像中所有连通区域的边界&#xff0c;并返回这些轮廓的列表。从 OpenCV 3.4 版本开始&#xff0c;这个函数的返回值和参数有所变化&#xff0c;以下是详细的参数说明&…...

存储课程学习笔记2_借助内核插入一个文件系统,用文件夹下测试文件系统(mount文件系统到目录下是入口)

裸盘是如何能达到我们日常操作目录那样&#xff0c;按目录依次访问文件等&#xff0c;实际上就是基于裸盘上&#xff0c;用文件系统进行控制。 0&#xff1a;总结。 0&#xff1a;mount是入口&#xff0c;一个裸盘先赋予文件系统&#xff0c;然后mount后才可以用。 1&#xf…...

chunk-vendors.js 文件过大导致页面加载缓慢解决方案

1、路由懒加载 在 Webpack 中&#xff0c;我们可以使用动态 import语法来定义代码分块点 (split point)&#xff1a; import(./Foo.vue) // 返回 Promise如果您使用的是 Babel&#xff0c;你将需要添加 syntax-dynamic-import 插件&#xff0c;才能使 Babel 可以正确地解析语…...

【Postgresql】地理空间数据的存储与查询,查询效率优化策略,数据类型与查询速度的影响

注&#xff1a;使用postgresql数据库会用到PostGIS 扩展。 一、安装PostGIS 扩展 在 PostgreSQL 中遇到错误 “type geography does not exist” 通常意味着你的 PostgreSQL 数据库还没有安装 PostGIS 扩展&#xff0c;或者 PostGIS 扩展没有被正确地安装在你的数据库中。geo…...

设计模式应用

单例模式 RunTime类是单例模式的体现&#xff0c;getRunTime()方法会返回一个唯一的实例。确保程序中只有一个唯一的RunTime类对象建造者模式 StringBuilder和StringBuffer是建造者模式的体现工厂模式 Calender类中Calender.getInstance()方法 DriverManager.getConnection()方…...

Android开机启动流程

Android开机启动流程 systemReady启动"added application" frameworks/base/services/java/com/android/server/SystemServer.java mainnew SystemServer().run();startBootstrapServicesmActivityManagerService ActivityManagerService.Lifecycle.startService(…...

数据结构基本知识

一、什么是数据结构 1.1、组织存储数据 ---------》内存&#xff08;存储&#xff09; 1.2、研究目的 如何存储数据&#xff08;变量&#xff0c;数组....)程序数据结构算法 1.3、常见保存数据的方法 数组&#xff1a;保存自己的数据指针&#xff1a;是间接访问已经存在的…...

浙大数据结构:02-线性结构4 Pop Sequence

这道题我们采用数组来模拟堆栈和队列。 简单说一下大致思路&#xff0c;我们用栈来存1234.....&#xff0c;队列来存输入的一组数据&#xff0c;栈与队列进行匹配&#xff0c;相同就pop 机翻 1、条件准备 stk是栈&#xff0c;que是队列。 tt指向的是栈中下标&#xff0c;fr…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...