【问题标题】:Ionic 3 incorrect scroll behaviorIonic 3 不正确的滚动行为
【发布时间】:2018-05-26 06:10:46
【问题描述】:

很难描述这个问题,我不确定这是一个错误还是我只是误解了一些离子布局,而且我只在 ios 上测试过,所以不确定其他平台,所以我们开始吧:

我正在使用 ionic 3.19、ios 11.2

如果<ionic-content> 中的内容大于(垂直)屏幕,那么如果我向上滚动(导致过度滚动)或向下滚动(也导致过度滚动),就在我停止触摸它的那一刻 - 内容会跳转到顶部这个观点,真的很难描述,这里是重现的方法:开始新的离子标签项目。将 15 个左右的 <ion-card> 与一些文本添加到任何选项卡,例如 home.html 看起来像:

    <ion-header>
  <ion-navbar>
    <ion-title>Home</ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
  <ion-card>
    <ion-card-header>Header</ion-card-header>
    <ion-card-content>Body</ion-card-content>
  </ion-card>
  <ion-card>
    <ion-card-header>Header</ion-card-header>
    <ion-card-content>Body</ion-card-content>
  </ion-card>
  <ion-card>
    <ion-card-header>Header</ion-card-header>
    <ion-card-content>Body</ion-card-content>
  </ion-card>
  <ion-card>
    <ion-card-header>Header</ion-card-header>
    <ion-card-content>Body</ion-card-content>
  </ion-card>
  <ion-card>
    <ion-card-header>Header</ion-card-header>
    <ion-card-content>Body</ion-card-content>
  </ion-card>
  <ion-card>
    <ion-card-header>Header</ion-card-header>
    <ion-card-content>Body</ion-card-content>
  </ion-card>
  <ion-card>
    <ion-card-header>Header</ion-card-header>
    <ion-card-content>Body</ion-card-content>
  </ion-card>
</ion-content>

(只是为了确保内容比屏幕大),在 iphone 上运行(ionic cordova start ios --device),向下滚动一点,然后快速向上滚动并在向上滚动时将手指从屏幕上移开

有人遇到过吗?我已经为此奋斗了好几天,起初我认为这与我的风格有关,但它可以用纯离子特征重现

我只使用了启动离子标签项目,只更改了 home.html,所有 scss 都处于初始离子状态

【问题讨论】:

  • 我在我的应用程序中试过这个,我没有发现任何问题.....你确定你没有修改你的 home.scss 文件吗.....请检查你的家。 scss 文件只包含 page-home { }
  • 如果你可以压缩你的项目文件夹并发送到 ajayreddy.4480@gmail.com 那么我可以看看
  • 请记录您的问题,然后将其导出到.gif,以便我们查看
  • @DmytroGrynets 是否可以放慢 gif 的速度?另外,将标题更改为标题1,标题2,标题3,依此类推...
  • @sebaferreras 谢谢,这与我面临的问题完全相同,在 ionic bug tracker 上找不到它,如果您希望您可以发表评论作为答案,我会接受

标签: ios cordova ionic-framework scroll ionic3


【解决方案1】:

尝试使用&lt;ion-list&gt;&lt;/ion-list&gt; 包装您的物品

<ion-content padding>
    <ion-list>
        Your cards here...
    </ion-list>
</ion-content>

【讨论】:

    【解决方案2】:

    看来你的问题很独特。

    我正在尝试产生与您相同的问题,但我不能。 无论如何,你可以尝试在 index.html 中添加这个

      <ion-app style="z-index: 1"></ion-app>
    

    【讨论】:

      【解决方案3】:

      以下解决方案对我有用:

      步骤:

      1. ionic cordova 平台添加 ios && ionic cordova 准备 ios
      2. 然后在 /platforms/ios//Plugins/cordova-plugin-ionic-webview/ 中找到 CDVWKWebViewEngine.m
      3. 将这行代码放在行的底部并保存。

      @implementation UIScrollView (NoBounce)
      - (void)didMoveToWindow {
         [super didMoveToWindow];
         self.bounces = NO;
      }
      @end

      【讨论】:

        【解决方案4】:

        no-bounce 属性添加到您的&lt;ion-content&gt; 元素

        <ion-content no-bounce padding>
           <ion-card>
              <ion-card-header>Header</ion-card-header>
              <ion-card-content>Body</ion-card-content>
           </ion-card>
        </ion-content>
        

        【讨论】:

        • 请仔细看问题,添加no-bounce并不能解决
        • 我们在 IOS 上遇到了同样的问题,添加了 no-bounce 并且它有效。离子 V3.9.2。当我有差距时会看看新项目
        • @DmytroGrynets 您确实将no-bounce 添加到父视图中,对吗?而不是作为主选项卡控制器视图的子视图
        猜你喜欢
        • 2012-12-28
        • 2017-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-06
        • 1970-01-01
        • 1970-01-01
        • 2019-02-02
        相关资源
        最近更新 更多