微信小程序windowHeight的值在ios和android平台不一致問題解決辦法


開發中遇到一個業務需求,需要把頁面頂部、底部固定,中間的scroll-view內部滾動。要滿足這個需求,需要根據屏幕高度計算中間的scroll-view高度。結果悲催地發現,使用

wx.getSystemInfo拿到的windowHeight居然不一致:
1、在ios中,windowHeight是屏幕高度-底部TabBar的高度
2、在android中,windowHeight是屏幕高度
百度到的大部分說法是,這是小程序在android平台的bug。需要注意調用wx.getSystemInfo的時機。但是試了在onLoad、onReady、onShow里調用都不行。最后,只好用土辦法了,先判斷什么平台,再根據平台來處理:
       //設置滾動區域高度
        wx.getSystemInfo({
          success: function (rSys) {
            //屏幕-導航的高度
            var winHeight = rSys.windowHeight-5;
            if(rSys.platform=="android")
                winHeight-=45;
              .......
              me.setData({ scrollViewHeight: winHeight - navBottom });
            });
          }
        });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM