有谁知道在 ListView 上检测垂直滚动/滑动手势的方法?我尝试收听滑动事件,但它只触发从左到右和从右到左的手势,而不是向上或向下。我还尝试收听导致相同行为的父视图。提前感谢任何提示或技巧!:)
问问题
1900 次
2 回答
2
似乎不支持此功能,但一种方法是将列表视图高度设置为 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。
于 2013-08-28T14:37:23.567 回答
1
在每晚构建中修复了该问题,但目前这是一个未解决的问题
于 2013-08-28T15:09:55.800 回答