欢迎来到代码驿站!

iOS代码

当前位置:首页 > 移动开发 > iOS代码

详解iOS中position:fixed吸底时的滑动出现抖动的解决方案

时间:2020-11-27 10:57:31|栏目:iOS代码|点击:

两种抖动

为什么抖动还会有两种?

其实是我碰到过两种抖动的场景,第一个场景是native的抖动,第二个场景是h5的抖动。

native的抖动

前端开发人员会在app中打开webview,这个时候iOS中position:fixed吸底时的滑动出现抖动应该是native造成的抖动,整个viewport跟着动,所以可以在生成schema的时候将参数bounce_disable(可能不一定都有这个参数,就看有没有类似的参数进行控制)设置为1禁止native的弹性效果,然后加上h5的这个效果,-webkit-overflow-scrolling 属性可以帮我们实现这个效果,它控制元素在移动设备上是否使用滚动回弹效果。

h5的抖动

方案一

//我是吸顶头部
.header{
 width:100%;
 height:50px;
 position:fixed;
 top:0px;
}
//我是中间要滑动的部分
.main{
 width:100%;
 height:auto;
 position:absolute;
 padding-top:50px;
 padding-bottom:50px;
 box-sizing:border-box;
 overflow-y:scroll;
}
//我是吸底尾部
.footer{
 width:100%;
 height:50px;
 position:fixed;
 bottom:0px;
}

解释:滑动部分overflow-y:scroll;所以在上下方向超出一屏的部分会变成滚动模式并且不溢出,然后这边吸顶和吸底设置的高度都是50,所以对应的中间滑动部分分别有padding-top:50px;和padding-bottom:50px;设置box-sizing:border-box;所以padding的增加不会增加.main的高度。

方案二

transform: translateZ(0);
-webkit-transform: translateZ(0);

解释:在使用position:fixed的元素上加上该属性。

上一篇:IOS实现验证码倒计时功能(一)

栏    目:iOS代码

下一篇:iOS如何实现强制转屏、强制横屏和强制竖屏的实例代码

本文标题:详解iOS中position:fixed吸底时的滑动出现抖动的解决方案

本文地址:http://www.codeinn.net/misctech/26744.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有