微信小程序屏幕适配不(bù)同的(de)iPhone - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 小程序相關 >

微信小程序屏幕适配不(bù)同的(de)iPhone

發表時(shí)間:2022-7-26

發布人(rén):融晨科技

浏覽次數:140

wx.getSystemInfo(Object object) | 微信開放文檔

wx.getSystemInfo({
  success (res) {
    console.log(res.model)
    console.log(res.pixelRatio)
    console.log(res.windowWidth)
    console.log(res.windowHeight)
    console.log(res.language)
    console.log(res.version)
    console.log(res.platform)
  }
})

蘋果手機不(bù)通機型在(zài)同一個(gè)系統下狀态欄的(de)高度可能不(bù)通,從ios14開始,劉海屏手機的(de)狀态欄不(bù)一定是(shì)44,ios14系統增加了(le/liǎo) 一個(gè)隐私提示燈 功能,因此ios14之(zhī)前狀态欄高度:有劉海屏iPhone爲(wéi / wèi)44,無劉海屏爲(wéi / wèi)20。

但是(shì)從ios14開始有劉海屏的(de)iPhone狀态欄高度不(bù)一定是(shì)44了(le/liǎo)。如:

iPhoneXR,iPhone11 狀态欄高度爲(wéi / wèi)48,

iPhone X,iPhone 11 Pro,iPhone 11 Pro Max,iPhone 12 mini,狀态欄高度44,

iPhone 12,iPhone 12 Pro,iPhone 12 Pro Max,狀态欄高度爲(wéi / wèi)47.

iPhone 13 mini狀态欄高度爲(wéi / wèi)50,

iPhone 13,iPhone 13 Pro,iPhone 13 Pro Max,狀态欄高度爲(wéi / wèi)47.

ihoneX


通過ihoneX真機打印手機信息參數model包含手機型号信息

通過ihone6s真機打印手機信息參數model包含手機型号信息

所有設備型号官網地(dì / de)址: Models - The iPhone Wiki

https://gist.github.com/adamawolf/3048717

由于(yú)劉海屏的(de)狀态欄的(de)高度不(bù)固定,但是(shì)都是(shì)大(dà)于(yú)20的(de),非劉海屏的(de)狀态欄都是(shì)20,

所以(yǐ)判斷是(shì)iPhone劉海屏機型的(de)條件就(jiù)可以(yǐ)是(shì): model帶iPhone字樣 && statusBarHeight > 20, 我們寫一個(gè)全局變量在(zài)app.js文件中:

在(zài)onLaunch方法中加入下面代碼

var _this = this;
    wx.getSystemInfo({
      success: function (res) {
        console.log('手機設備信息',res);
        // 判斷設備是(shì)否爲(wéi / wèi)劉海屏
        if (res.model.indexOf("iPhone") >= 0 && (res.statusBarHeight > 20)) {
           _this.globalData.isIPhoneXSeries = true;
           _this.tabbarSafeBottomMargin = res.screenHeight - res.safeArea.bottom
        }

      }
    })

ios開發屏幕适配pt和(hé / huò)px之(zhī)間的(de)換算,小程序開發px和(hé / huò)ios開發的(de)px不(bù)等同

vh_CSS3屬性_CSS參考手冊 - html中文網


用法:

const app = getApp()

//注意獲取的(de)tabmargin的(de) 單位是(shì)px而(ér)不(bù)是(shì)rpx ,不(bù)用劉海屏手機上(shàng)tabmargin的(de)大(dà)小都是(shì)34px,在(zài)ios開發中用的(de)是(shì)tabmargin是(shì)34pt,微信小程序開發px和(hé / huò)ios開發的(de)px不(bù)完全等同的(de)

相關案例查看更多