【发布时间】:2016-04-28 14:44:09
【问题描述】:
在列表视图里面我有列表视图模板,它里面有不同的元素和不同的点击事件监听器。
在 IOS 中快速滚动和快速触摸屏幕。 它导航到项目页面而不是停止滚动,所以我想接近下面的方法来停止滚动。无法修复。
预期结果:停止滚动 如果触摸屏幕停止滚动,然后我触摸屏幕打开项目页面。
实际结果:进入 els 部分,无法停止滚动。 在屏幕上滚动触摸时(触发点击事件)而不是停止滚动。
<Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo">
<ListView items="{{ menu }}" row="1" id="mylist" >
<ListView.itemTemplate>
<GridLayout columns="auto, *">
<Image src="{{ imageURL }}" row="0" cssClass="icon" tap="myTapListener"/>
<StackLayout col="1" tap="myTapListener1">
<Label text="{{ title }}" cssClass="name"/>
<Label text="{{ subtitle }}" cssClass="location"/>
</StackLayout>
</GridLayout>
</ListView.itemTemplate>
</ListView>
</Page
exports.myTapListener = function(args) {
var item = args.object;
if(item.page.getViewById("mylist").isScrolling) {
console.log("Scroll stopped: " + item.page.getViewById("mylist).isScrolling);
return;
} else {
console.log("unable to stop:" + item.page.getViewById("mylist).isScrolling);
}
}
exports.myTapListener1 = function(args) {
var item = args.object;
if(item.page.getViewById("mylist").isScrolling) {
console.log("Scroll stopped: " + item.page.getViewById("mylist).isScrolling);
return;
} else {
console.log("unable to stop:" + item.page.getViewById("mylist).isScrolling);
}
}
【问题讨论】:
-
当我在滚动时触摸屏幕(点击事件引发)。预期结果:停止滚动实际结果是:无法停止滚动。它总是返回假。如果我是真的,那么我可以通过这种方法停止
if(item.page.getViewById("mylist").isScrolling) { console.log("Scroll stopped: " + item.page.getViewById("mylist).isScrolling); return; }
标签: nativescript