有没有人知道在ListView上检测垂直滚动/滑动手势的方法?我试着听滑动事件,但它只会从左到右和从右到左的手势触发,而不是向上或向下。我也尝试在父视图上侦听,这导致了相同的行为。 提前感谢任何提示或技巧! :)
答案 0 :(得分:2)
似乎不支持这种方法,但一种方法是将列表视图高度设置为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进行转换。
答案 1 :(得分:1)
在夜间版本中有一个问题的修复,但目前这是一个未解决的问题