dcloudio / mui

最接近原生APP体验的高性能框架

Home Page:https://dev.dcloud.net.cn/mui/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iOS16.2版本中所有的选择器都有错位现象

jywangyou opened this issue · comments

commented

iOS16.2版本使用选择器的时候,会出现错位现象

有可供替换的库吗?
这个项目官方都弃坑了,找个不管是用vant还是官方提供的uni-app都得换成vue框架,改动太大了。有没有什么开源库能只替换这个mui.datepicker 的?

commented

.mui-ios-16.mui-ios-16-2 .mui-pciker-list{transform-origin-z: 0 !important;}

mui.picker.all.js 或 mui.picker.js 前增加,ios 16.2版本判断;
var maches = userAgent.match(/iphone os ([\d_]+) /i);
if (maches && maches.length >= 2 && maches[1] >= "16_2"){
return;
}
self.list.style.webkitTransformOrigin

commented

有可供替换的库吗? 这个项目官方都弃坑了,找个不管是用vant还是官方提供的uni-app都得换成vue框架,改动太大了。有没有什么开源库能只替换这个mui.datepicker 的?

下面两个老兄的方法都可以

commented

这个部分机型有问题 建议改成translateY

css 注释 .mui-pciker-list li {/position: absolute;/} 所有的 preserve-3d

js
calcElementItemPostion 函数删除循环中的 webkitTransformOrigin与webkitTransform 赋值
setAngle 函数 style.webkitTransform = "perspective(1000px) rotateY(0deg) rotateX(" + e + "deg)" 改成 list.style.webkitTransform = "translateY(-" + (e/20 * 36) + "px)"

如果你的系统无法通过 JavaScript 探测到操作系统或者浏览器版本(window.navigator.userAgent),可以试试:

Tested in mui v3.4.0

@supports (font-variant-alternates: styleset(nice-style)) {
	/* Supported from Safari 16.2 */
	/* https://developer.apple.com/documentation/safari-release-notes/safari-16_2-release-notes */

	.mui-pciker-list {
		transform-origin-z: 0 !important;
	}
}

iOS 16.0 16.1.1版本用css的方式,还是不能生效,有解决方案吗?

iOS 16.0 16.1.1版本用css的方式,还是不能生效,有解决方案吗?

你的意思是,在 iOS 16.0 16.1.1 上也会错位吗?

iOS 16.0 16.1.1版本用css的方式,还是不能生效,有解决方案吗?

你的意思是,在 iOS 16.0 16.1.1 上也会错位吗?

是的,真机实测的

iOS 16.0 16.1.1版本用css的方式,还是不能生效,有解决方案吗?

你的意思是,在 iOS 16.0 16.1.1 上也会错位吗?

是的,真机实测的

是修改代码前,还是应用了上述修改后?