微信小程序开发之IOS/Android兼容坑(持续更新)

一、时间转换问题:

这不只是小程序上面的问题是ios系统 都有这个问题
就是new  Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解决方案如下

1.替换”-“为”/“

2.删除”.“后面的字符串(带毫秒也会有问题)

代码如下:

 /**
     * 字符串转换为时间
     * @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定位问题

整个页面的fixed定位,在ios下下拉会触发下拉事件,但是没有动画效果。Android就能正常运行

flex中使用 绝对定位,ios出现严重错位,导致父级元素也会变成绝对定位,Android能达到理想效果

总而言之 尽量不用fixed

三、absolute定位问题

1.使用absolute定位,并且宽带设置了100% 并且设置了padding就会导致屏幕宽度溢出,出现页面左右可以移动的bug,模拟器上是没有问题,但是真机上是有这个问题的。这个问题让我调试并痛苦了许久

2.使用absolute并且当前元素是flex容器这种情况在Ios下面布局不会起到左右,会出现所有元素转换成了absloute并且文字错位

3.总而言之 尽量不用 absolute

、 word-spacing在button中的问题

有时候在使用大按钮的时候两个字中间希望有段间距,但是目前没有找到能使用的占位符,所以使用了的word-spacing加空格 这个方法来设置文字的间距,但是在iPhone6s 上两个字中间一个空格的时候整体会向右偏,必须设置两个空格才正常!

原文地址:https://www.cnblogs.com/daxiongblog/p/7029218.html