记一次ios和安卓兼容性问题的bug,在ios底部看不到van-checkbox组件,而在安卓当中却可以看到。

243 阅读2分钟

记一次ios和安卓兼容性问题的bug,在ios底部看不到van-checkbox组件,而在安卓当中却可以看到。

现象如下:使用vantui中的van-action-sheet组件以及van-checkbox组件,

当点击打开底部弹窗是,在ios中看不到van-checkbox组件,而在安卓当中却可以看到,当时就很郁闷,后面查资料,说什么在ios中使用fixed会无效,因为ios是自适应高度100%,所以就会出现底部空白的情况,现象如下

安卓:

 

image.png

ios:

image.png

会发现ios上面完全就没有,我也想过很久,用过absolute,也用过  -webkit-appearance: checkbox;  -moz-appearance: checkbox;等属性,发现度没有用

实在没有办法,最后就没有在使用定位来处理,而是使用固定高度来处理,也就是说,我将弹窗分为3部分,分别为title,content,以及bottom,都将其设置固定高度,反正是做了适配,以及有ui,我知道他们的占比关系,因此不管在什么端都是一样的效果,然后我在将content设置一个属性

.content{
  height: 468px;

  width100%;

  box-sizing: border-box;

  overflow: auto;

}

也就是 overflow: auto;这样content既可以滚动了,一样的可以达到产品的效果,

这个问题花了我2个小时,去解决,因为只能整机复现,比较麻烦,中间还度过了一个晚上,在解决这个bug时确实狠纠结,怎么想也没有更好的方法,索性我就回家了,最后在家里,想出了这个方法,

其实我想说,当自己越想越复杂的时候,让自己陷入死循环了,就不要在纠结了,让自己休息一下,或许问题一下子就迎刃而解了,

好了以上就是本次所遇到的问题,感谢各位