[前端][fmui]ios16.0版本以上mui的picker选择器显示异常
问题现象
ios16.2版本以上使用mui的picker选择器显示异常

解决方案
解决步骤:
1、优化mui.picker.min.css
:
- 将.mui-picker-list li{position:absolute;}中的position:absolute去除;
- 将所有preserve-3d去除
- 将.mui-picker-inner{...}中的-webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent); -webkit-mask-box-image: linear-gradient(top, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent)去除
- 在文件中新增此代码:.mui-ios-16 .mui-pciker-list{transform-origin-z:0!important;}@supports(font-variant-alternates:styleset(nice-style)){.mui-pciker-list{transform-origin-z:0!important;}}
2、优化mui.picker.all.js
文件(如果项目中用的是mui.picker.min.js
,那么请改成用mui.picker.all.js
文件,all
文件是min
的未压缩版本,文件可到mui
官网下载,在mui/plugin/picker/dist/js
中可找到):
- 删除calcElementItemPostion函数中的webkitTransformOrigin和webkitTransform的赋值
- 将setAngle函数中的self.list.style.webkitTransform = "perspective(1000px) rotateY(0deg) rotateX(" + angle + "deg)";改成list.style.webkitTransform = "translateY(-" + (e/20 * 36) + "px)"
修改后效果:

直接下载: