收藏
回答

iPhone无法动态修改scroll-x的状态

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug scroll-view 客户端 iOS 6.6.7 2.0.9

动态修改Scroll-View的scroll-x是否生效时,再Android手机上可以正常修改,iPhone上修改完成后,状态无法多次修改

最后一次编辑于  2018-05-31  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

8 个回答

  • 卢霄霄
    卢霄霄
    2018-05-31

    遇到过,莫名其妙的,倒腾倒腾又对了。

    2018-05-31
    赞同
    回复 7
    • at moment
      at moment
      2018-05-31

      我都倒腾一天了,打log什么的,发现就是iOS修改完还是不好使,Android就没有问题

      2018-05-31
      赞同
      回复
    • 卢霄霄
      卢霄霄
      2018-05-31回复at moment

      方便看看代码不,就界面绑定的部分,定义的部分,和进行改变的部分

      2018-05-31
      赞同
      回复
    • at moment
      at moment
      2018-05-31回复卢霄霄
      <scroll-view scroll-x="{{ scrollX }}" scroll-with-animation bindscroll="scrolling" bindtouchstart="start" bindtouchend="scrollEnd" scroll-left="{{ scrollLeft }}">
      <view class="flex-row">
      <image class="scroll-item" src="{{ house.cover }}" mode="aspectFill"></image>
      <view class="scroll-item flex-col flex-horizontal-middle">
      <view class="gallery-tip">松手进入房源相册</view>
      </view>
      </view>
      </scroll-view>




      //手指抬起时判断滑动距离
      scrollEnd(e) {
       if(this.tempData.scrolledLeft>92/this.tempData.pixelRatio){
         this.openGallery()
       }
       this.setData({
         scrollX: false,
       })
      },
      start(e) {
       this.setData({
         scrollX: true,
       })
      },


      2018-05-31
      赞同
      回复
    • 卢霄霄
      卢霄霄
      2018-05-31回复at moment

      想法真独特。。触碰开始的时候,才去改变是否可滚动。你试试 scrollEnd 的时候,将setData用setTimeout晚5秒执行,你看这期间能滑动不

      2018-05-31
      赞同
      回复
    • at moment
      at moment
      2018-05-31回复卢霄霄

      不这么做不行啊,iPhone上侧滑退出时可以触发横向scrollView的滚动,但是没有手指离开的事件。iPhone的滑动,如果快速滑动,手指离开时设置滑动距离,会导致起作用后仍然执行之前的滑动效果。还有就是setTimeOut后面的时间参数好像不是太好使。

      2018-05-31
      赞同
      回复
    查看更多(2)