网络编程 
首页 > 网络编程 > 浏览文章

微信小程序开发之IOS和Android兼容的问题

(编辑:jimmy 日期: 2024/11/20 浏览:3 次 )

微信小程序开发之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 上两个字中间一个空格的时候整体会向右偏,必须设置两个空格才正常!

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:深入理解ES6 Promise 扩展always方法
下一篇:Thinkphp5微信小程序获取用户信息接口的实例详解