[英]How to detect scroll event on a ListView?
有人知道在ListView上检测垂直滚动/滑动手势的方法吗? 我尝试收听轻扫事件,但仅在从左到右和从右到左的手势上触发,而不是向上或向下触发。 我还尝试了侦听父视图,这导致了相同的行为。 在此先感谢您提供任何提示或技巧! :)
似乎不支持此功能,但是一种方法是将列表视图的高度设置为Ti.UI.SIZE,使其不滚动,然后将其放在ScrollView中。 然后在ScrollView上侦听scroll
事件。 尝试这样的事情:
// 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。
每晚版本中都有此问题的修复程序,但当前这是一个未解决的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.