uni-app uni.pageScrollTo 在ios手机上不生效
uni-app uni.pageScrollTo 在ios手机上不生效
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | w10 | HBuilderX |
| iOS | iOS 18 |
示例代码:
<u-textarea @keyboardheightchange="keyboardheightchange" :adjustPosition="false" height="176" confirmType="return" maxlength="-1" class="lyb-text" v-model="value1"
placeholder="描述商品的具体情况或提供服务的具体内容"></u-textarea>
keyboardheightchange(e){
uni.pageScrollTo({
scrollTop: 200,
duration: 0,
success(res) {
console.log(res)
},
fail(err) {
console.log(err)
}
});
操作步骤:
ios手机输入框软键盘弹出时候获取键盘高度使用uni.pageScrollTo 在ios手机上页面滚动到指定位置不生效,还是执行成功回调,安卓正常
预期结果:
希望正常页面滚动到固定位置,跟安卓一样
实际结果:
ios没生效
bug描述:
uni.pageScrollTo 在ios手机上页面滚动到指定位置不生效,还是执行成功回调,安卓正常
更多关于uni-app uni.pageScrollTo 在ios手机上不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
没人吗?没人处理吗
更多关于uni-app uni.pageScrollTo 在ios手机上不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
快来人啊
没人吗
通过点击按钮或setTimeout触发pageScrollTo是否能生效?
没用,我试了setTimeout和this.$nextTick都不行,正常页面是生效的、或者在另外一个容器加个点击事件也是生效的,但是在输入框键盘弹出时候不会生效,只有ios有这个情况,应该是ios软键盘弹出兼容问题
回复 1***@qq.com: 可能是软键盘弹出后不能滚动,是不是收起软键盘后就正常了
这是一个iOS系统与uni-app页面滚动机制的兼容性问题。在iOS设备上,当软键盘弹出时会触发页面布局变化,此时直接调用uni.pageScrollTo可能无法正常滚动。
建议尝试以下解决方案:
- 添加延迟执行:
keyboardheightchange(e){
setTimeout(() => {
uni.pageScrollTo({
scrollTop: 200,
duration: 300,
success(res) {
console.log(res)
},
fail(err) {
console.log(err)
}
});
}, 100);
}

