wenju
wenju
  • 发布:2020-06-09 15:57
  • 更新:2021-04-28 09:14
  • 阅读:3037

【报Bug】scroll-view监听了touch事件无法正常滚动(iOS13真机APP)

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 10

HBuilderX类型: 正式

HBuilderX版本号: 2.7.9

手机系统: iOS

手机系统版本号: iOS 13.4

手机厂商: 苹果

手机机型: iPhone7Plus, iPhoneX,

页面类型: vue

nvue编译模式: fast

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view>  
        <scroll-view style="height: 1000rpx" :scroll-y="true" @touchstart="touchstartEvent" @touchmove="touchmoveEvent" @touchend="touchendEvent">  
            <view style="border: 2rpx solid #000;padding: 100rpx;" v-for="i in 10" :key="i"> {{i}} </view>  
        </scroll-view>  
    </view>  
</template>  

<script>  
    export default {  
        methods: {  
            touchstartEvent(e){  
                console.log('touchstart');  
            },  
            touchmoveEvent(e){  
                console.log('touchmove');  
            },  
            touchendEvent(e){  
                console.log('touchend');  
            }  
        }  
    }  
</script>

操作步骤:

重现方式1: 在顶部时,滚动条消失时,快速向下滑
重现方式2: 在列表中间,滚动条消失时,快速向下或向上滑
重现方式3: 在底部时,滚动条消失时,快速向上滑

预期结果:

touch事件不应该影响scrollview的滚动

实际结果:

在ios13中,touch监听貌似阻止了事件冒泡

bug描述:

iOS13真机APP: scroll-view监听了touch事件无法正常滚动 (下载了最新Apha版和2.6.9HBuilderX版本也是一样的问题)
但是测试了另外一部iPhone6是iOS12系统 ,则滚动流畅,不知是否和系统版本有关 ?
Android正常

2020-06-09 15:57 负责人:DCloud_UNI_GSQ 分享
已邀请:

最佳回复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

处理方案来了,替换附件文件到 HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-app-plus/dist/view.umd.min.js

预计会在下个 alpha 版本带上。

下个版本已经来到,2.8.9+ 已经修复

  • nice啊

    2020-08-21 17:26

  • 小兔白

    回复 : 你的好使了?我的还是会卡呢

    2020-08-21 22:10

  • 小兔白

    试了下卡的没变化,请问是哪里操作的姿势不对吗

    2020-08-21 22:26

  • 回复 小兔白: 我的没问题啊 我先把基座删了再重新安装的

    2020-08-22 09:22

  • 小兔白

    回复 : 你的hbuilderX版本多少,是最新的吗

    2020-08-22 14:10

  • 回复 小兔白: 2.8.8

    2020-08-22 14:14

  • 4***@qq.com

    我的试了,竟然好了,我被这个问题搞了快一个月了,中间都放弃了。。。。老早就提了这个bug,没有引起重视。终于好了,哈哈

    2020-08-22 14:47

  • 6***@qq.com

    alpha 2.8.7 ,ios 13.5, 测试确实不卡了 !

    2020-08-24 11:33

  • DCloud_UNI_GSQ

    参与测试的同学,也注意一下,之前有同时用到下拉刷新功能的查看表现是否和之前不同。

    2020-08-24 16:34

  • 9***@qq.com

    替换view.umd.min.js文件后导致我的canvas都不能正常使用了,而且也没报错,替换回以前的view.umd.min.js文件就行了

    2020-08-29 12:00

  • DCloud_UNI_GSQ

    回复 9***@qq.com: 直接使用 2.8.9 alpha 试试

    2020-09-02 17:25

  • 猪九戒

    您好,我试了不行啊,我刚下载的版本2.9.2 alpha ,求大佬帮忙

    2020-10-24 13:35

  • DCloud_UNI_GSQ

    回复 猪九戒: 你的应该不是同一个问题,单独发帖反馈,描述清楚

    2020-10-24 14:56

渡

- 性感前端在线炒粉一份8块

应该不是touch监听的问题 我没监听 也出现了这个问题

  • kim猴

    我也是,没有监听就有这个问题

    2020-07-06 17:23

林启聪

林启聪

同问,严重影响使用

  • DCloud_UNI_GSQ

    你也是iOS13刚滚动到顶部或者底部的瞬间不能滚动吗?

    2020-06-17 19:58

  • 回复 DCloud_UNI_GSQ: 有时候一开始就不能滚动了

    2020-06-18 11:35

  • DCloud_UNI_GSQ

    回复 : 然后 就再也不能滚动吗?

    2020-06-18 15:19

  • 回复 DCloud_UNI_GSQ: 很难滚动 出现滚动条就可以滚动 不出现就滚动不了 上下滑没反应

    2020-06-18 15:33

  • DCloud_UNI_GSQ

    回复 : 你的和原帖问题不同,建议单独反馈

    2020-06-22 18:03

  • 回复 DCloud_UNI_GSQ: 已经发帖了 没人回

    2020-06-23 09:26

  • kim猴

    回复 DCloud_UNI_GSQ: 我也是,滚着滚着就卡住了

    2020-07-06 17:22

  • kim猴

    回复 DCloud_UNI_GSQ: 连点击都不灵敏

    2020-07-06 17:24

林启聪

林启聪

有人解决吗

1***@qq.com

1***@qq.com

我把ios的页面回弹闭了就好了很多

DCloud_UNI_GSQ

DCloud_UNI_GSQ

确认滚动到顶/底部瞬间无法响应触摸操作,后续会进行优化

  • 旺仔牛奶

    这个有处理吗?我是ios 13.5.1 一样滚动不流畅

    2020-07-03 11:40

  • 旅途

    这个可以尽快处理吗,我也有这个问题,老一点的苹果机型升级到ios13以上就会出现卡顿不流畅

    2020-07-06 09:34

  • 这个bug还修复吗

    2020-08-08 09:47

  • 9***@qq.com

    回复 : 我也是昨天手机升级了13,今天真机调试就卡顿了

    2020-08-09 15:47

  • 1***@qq.com

    回复 9***@qq.com: iOS 14 一样

    2020-08-10 12:15

  • 回复 9***@qq.com: 5月底到现在了 还没修复

    2020-08-10 14:54

  • DCloud_UNI_GSQ

    回复 : 因为确实较难处理(和wkwebview有关),鉴于大家的反馈已提高优先级。另外部分改动近期可能会邀请大家帮忙测试一下。

    2020-08-10 15:02

  • 回复 DCloud_UNI_GSQ: 好的 谢谢

    2020-08-10 16:45

  • c***@163.com

    回复 DCloud_UNI_GSQ: 期待尽快修复,我的也是滚动顶部或底部卡顿,而且scroll-view里的点击事件也很卡顿,有时候点击没有反应

    2020-08-14 17:45

  • 小兔白

    回复 DCloud_UNI_GSQ: scroll-view在ios13上太卡了,滑动到任意位置停顿之后再滑动就卡住,请尽快解决哈,辛苦,这个不解决会死人的

    2020-08-17 15:02

  • 1***@qq.com

    回复 DCloud_UNI_GSQ: 这个问题卡了一周了,加油呀。。

    2020-08-17 15:11

  • 猪九戒

    大佬们,这个问题解决了吗

    2020-10-24 15:56

  • DCloud_UNI_GSQ

    回复 猪九戒: 早就解决了

    2020-10-24 18:10

1***@qq.com

1***@qq.com

@DCloud_UNI_GSQ 日常艾特官方

林启聪

林启聪

还是有这个问题

金猿

金猿 - 其实我是个后端

这个是ios 得回弹问题吧

6***@qq.com

6***@qq.com - GScloud

苹果用户逐渐增多,反应的人也越来有多了,官方解决一下解决啊!顶不住了

todyzhang

todyzhang

2.9.8版本IOS还是这个问题

ben168

ben168 - App developer

这问题我这里也出现, iPhone 6 Plus iOS 12.4.8
HBuilderX 3.1.11.20210423

期待下一版本fixed 掉这个bug.

  • DCloud_UNI_GSQ

    详细描述一下,有可能已经不是同一个问题了

    2021-05-06 15:06

ben168

ben168 - App developer

在uniapp 的 view.umd.js 代码里有:

 lastAction.disable = disable;  
  lastAction.time = time;  
  plusReady(function () {  
    if (plus.os.name === 'iOS') {  
      // 延迟执行避免iOS13触摸卡死  
      setTimeout(exec, 20);  
    } else {  
      exec();  
    }  
  });  
}
``````javascript  

显然,uniapp 的开发人员一直在避免iOS 的卡顿问题, 但用timeout 方式明显是 workround 的办法,而不是根本解决的途径。

要回复问题请先登录注册