uniapp处理IOS底部横条安全区域

本文介绍了uni-app中获取设备系统信息的异步和同步方法,通过`uni.getSystemInfo`和`uni.getSystemInfoSync`在iOS平台上获取安全区域高度,展示了两种不同的应用实例,用于动态设置页面元素样式。在onReady生命周期中,根据平台判断调用相应方法,并解析安全区域信息来调整视图布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

同步

uni.getSystemInfo(OBJECT)

异步

uni.getSystemInfoSync()
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用方式一

<template>
	<view class="content">
		<view style="background-color: red;" :style="{height:heightOne+'px'}">1</view>
		<view style="background-color: yellow;" :style="{height:heightTwo+'px'}">2</view>
	</view>
</template>

<script>
	export default{
		data(){
			return{
				heightOne:0,
				heightTwo:0,
			}
		},
		onReady(){
			const self = this;
			
			switch (uni.getSystemInfoSync().platform) {
			    case 'ios':
			        // 异步方式
			        uni.getSystemInfo({
			            success: function (res) {
			        		console.log(res.safeArea)
			        		self.heightOne = res.safeArea.top;//头部区域
			        		self.heightTwo = res.safeArea.height;//内容区域
			            }
			        });
			        
			        //同步方式
			        // self.heightOne.uni.getSystemInfoSync().safeArea.top
			        // self.heightTwo.uni.getSystemInfoSync().safeArea.height
			    break;
			}
		},
		onLoad(){
			
		},
		onShow() {
			
		},
		methods:{
			
		}
	}
</script>
<style>

</style>

结果如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/ba8257fc6221497b8259571fbceef364.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ZCR5YmN5pyJ5YWJ,size_20,color_FFFFFF,t_70,g_se,x_16

使用方式二

<template>
	<view class="content">
		<view class="contents" :style="{bottom:heightOne+'px'}">
			
		</view>
	</view>
</template>

<script>
	export default{
		data(){
			return{
				heightOne:0,
				heightTwo:0,
			}
		},
		onReady(){
			const self = this;
			
			switch (uni.getSystemInfoSync().platform) {
			    case 'ios':
			        // 异步方式
			        uni.getSystemInfo({
			            success: function (res) {
			        		console.log(res.safeArea)
							let sHeight = res.screenHeight;//获取屏幕高度
							let sTop = res.safeArea.bottom;//获取安全区域底部高度
							self.heightOne = sHeight - sTop;//获取安全区域距离底部的高度
			            }
			        });
			        
			        //同步方式
			        // self.heightOne.uni.getSystemInfoSync().safeArea.top
			        // self.heightTwo.uni.getSystemInfoSync().safeArea.height
			    break;
			}
		},
		onLoad(){
			
		},
		onShow() {
			
		},
		methods:{
			
		}
	}
</script>
<style>
	.contents{
		background-color: red;
		position: absolute;
		width: 100%;
		height: 10rpx;
	}
</style>

结果如下:
在这里插入图片描述

Uniapp中,如果要配置iOS安全区域,可以通过以下步骤进行操作: 1. 打开`manifest.json`文件,并切换到源码视图。 2. 在`app-plus`节点下添加一个`safearea`字段,用来配置iPhone的安全区域。 3. 在`safearea`字段中,可以根据需要设置不同的配置,比如底部安全区域的偏移和背景颜色等。 4. 如果要在底部的tabbar之上进行固定定位,可以使用CSS的`env`函数来计算安全区域的高度。 5. 在对应的样式类中,使用`bottom: env(safe-area-inset-bottom)`来设置底部安全区域偏移。 6. 如果需要在tabbar之上进行固定定位,可以在计算安全区域高度的基础上再加上tabbar的高度。 总结起来,配置iOS安全区域主要涉及到修改`manifest.json`文件,并在样式中使用`env(safe-area-inset-bottom)`来设置底部安全区域偏移。可以根据需要进行调整和修改来满足项目的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [uniapp 苹果安全区配置](https://blog.youkuaiyun.com/qq_37564189/article/details/119782585)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [uniapp关于iphone底部安全区域](https://blog.youkuaiyun.com/qq_32707555/article/details/109738170)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值