微信小程序開發之(zhī)IOS/Android兼容坑
發表時(shí)間:2021-4-30
發布人(rén):融晨科技
浏覽次數:80
一、時(shí)間轉換問題:
這(zhè)不(bù)隻是(shì)小程序上(shàng)面的(de)問題是(shì)ios系統 都有這(zhè)個(gè)問題
就(jiù)是(shì)new Date("2017-06-16") 在(zài)IOS會出(chū)現NAN的(de)情況所以(yǐ)對于(yú)時(shí)間轉換需要(yào / yāo)另行封裝,解決方案如下
1.替換”-“爲(wéi / wèi)”/“
2.删除”.“後面的(de)字符串(帶毫秒也(yě)會有問題)
代碼如下:
/** * 字符串轉換爲(wéi / wèi)時(shí)間 * @param {String} src 字符串 */ strToDate(dateObj){ dateObj = dateObj.replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '').replace(/(-)/g, '/') dateObj = dateObj.slice(0, dateObj.indexOf(".")) return new Date(dateObj) }
二、fixed定位問題
整個(gè)頁面的(de)fixed定位,在(zài)ios下下拉會觸發下拉事件,但是(shì)沒有動畫效果。Android就(jiù)能正常運行
flex中使用 絕對定位,ios出(chū)現嚴重錯位,導緻父級元素也(yě)會變成絕對定位,Android能達到(dào)理想效果
總而(ér)言之(zhī) 盡量不(bù)用fixed
三、absolute定位問題
1.使用absolute定位,并且寬帶設置了(le/liǎo)100% 并且設置了(le/liǎo)padding就(jiù)會導緻屏幕寬度溢出(chū),出(chū)現頁面左右可以(yǐ)移動的(de)bug,模拟器上(shàng)是(shì)沒有問題,但是(shì)真機上(shàng)是(shì)有這(zhè)個(gè)問題的(de)。這(zhè)個(gè)問題讓我調試并痛苦了(le/liǎo)許久
2.使用absolute并且當前元素是(shì)flex容器這(zhè)種情況在(zài)Ios下面布局不(bù)會起到(dào)左右,會出(chū)現所有元素轉換成了(le/liǎo)absloute并且文字錯位
3.總而(ér)言之(zhī) 盡量不(bù)用 absolute
四、 word-spacing在(zài)button中的(de)問題
有時(shí)候在(zài)使用大(dà)按鈕的(de)時(shí)候兩個(gè)字中間希望有段間距,但是(shì)目前沒有找到(dào)能使用的(de)占位符,所以(yǐ)使用了(le/liǎo)的(de)word-spacing加空格 這(zhè)個(gè)方法來(lái)設置文字的(de)間距,但是(shì)在(zài)iPhone6s 上(shàng)兩個(gè)字中間一個(gè)空格的(de)時(shí)候整體會向右偏,必須設置兩個(gè)空格才正常!