javascript - 如何检测ListView上的滚动事件?

标签 javascript titanium

有谁知道如何检测 ListView 上的垂直滚动/滑动手势?我尝试监听滑动事件,但它仅在从左到右和从右到左的手势上触发,而不是向上或向下。我还尝试监听父 View ,这导致了相同的行为。 预先感谢您提供任何提示或技巧! :)

最佳答案

似乎不支持这一点,但一种方法是将 ListView 高度设置为 Ti.UI.SIZE,使其不滚动,然后将其放入 ScrollView 中。然后听 scroll ScrollView 上的事件。尝试这样的事情:

// Vertical scroll view
var parentScrollView = Ti.UI.createScrollView({
    height : 'auto'
});

// Make a list view that does not scroll
var listView = Ti.UI.createListView({
   height : Ti.UI.SIZE,
   ... Other initialization here ...
});

parentScrollView.add(listView);
parentScrollView.addEventListener('scroll', function(e) {
    // This lets you know where you scrolled to
    var scrollX = e.x;
    var scrollY = e.y;

    // Alternatively use contentOffset
    var contentOffsetScoped = e.source.contentOffset;
    var contentOffsetSame = parentScrollView.contentOffset;
});

这是一个极简的示例,但是可行。请注意,此方法可能会消除 ListView 控件的任何性能提升,因此最好转换为使用 TableView。

关于javascript - 如何检测ListView上的滚动事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18490279/

相关文章:

javascript - 使用 typeScript 转换日期对象属性数组

java - Titanium Studio - Java 返回错误 13

ios - 如何将 CGRect 值从钛发送到 ios 模块

javascript - 无法读取未定义的 mysql 的属性 'typeCast'

javascript - 构建 Electron MEAN stack APP,从本地 MetaTrader 4 终端获取数据

javascript - 在javascript中将foreach转换为map函数

sql - 在appcelerator titanium sql left join中不起作用

json - 如何从 Titanium 中的 JSON 字符串中转义 "\"?

javascript - 钛加速器窗口的正确打开方式是什么?

javascript - HTML5 Canvas 图像上传 - 上传空白图像或被破坏