【问题标题】:How to detect if the scrollview stops scrolling in nativescript angular?如何检测滚动视图是否停止以 nativescript 角度滚动?
【发布时间】:2019-02-18 05:10:52
【问题描述】:

我正在使用 nativescript angular 开发 android 和 ios 应用程序。我正在使用滚动视图来显示列表项。有没有办法检测用户是否停止在滚动视图中滚动?请为此提供任何解决方案。

【问题讨论】:

    标签: nativescript nativescript-angular


    【解决方案1】:

    您可以收听touch 事件并确保event.actionTouchAction.up

    编辑:如果您想在 iOS 上附加您自己的 UIScrollViewDelegate 实现,您可以这样做。我的委托版本接受原始委托作为参数,因此我不会丢失原始委托中已经实现的任何内容。

    (<any>ScrollView.prototype).originalAttachNative = (<any>ScrollView.prototype).attachNative;
    (<any>ScrollView.prototype).attachNative = function () {
        this.originalAttachNative();
        const newDelegate = MyUIScrollViewDelegateImpl.initWithOriginalDelegate(this._delegate);
        this._delegate = newDelegate;
        this.nativeViewProtected.delegate = newDelegate;
    };
    

    【讨论】:

    • 好的,这是为了让用户停止滚动。如果滚动自动停止,是否触发了任何事件?
    • 我不认为有滚动结束事件,但你可以听scroll 事件并添加一个延迟,比如说 300 毫秒,如果你在这段时间内收到下一个滚动事件,它仍然是滚动,否则滚动停止。
    • 好的,谢谢..我会检查的。还有一个问题我想问你我可以访问原生 api 的 ios 和 android 滚动事件吗?
    • 是的,当然。所有原生 api 在 iOS 和 Android 上都对您开放。
    • 用代码 sn-p 更新了我的答案以更新委托。您可以在应用程序模块或主文件中执行此操作,请确保您进行条件检查以仅在 iOS 上运行此代码。
    猜你喜欢
    • 1970-01-01
    • 2012-11-28
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多