0
欲垂直拖動在鈦Appcelerator的一個視圖,並停止時在屏幕上顯示整個圖的高度。 在啓動視圖具有140的高度和-120底部所以我有可以一塊認爲我可以開始拖動:垂直拖動(touchMove)鈦Appcelerator的視圖
這是我想垂直拖動「 MyView的」,x軸是留給0所以只能從底部拖動到頂部,目的是停止拖動時顯示所有MyView的高度(所有MyView的是可見的) 。
var WIDTH = (OS_ANDROID) ? Ti.Platform.displayCaps.platformWidth/dpi : Ti.Platform.displayCaps.platformWidth;
var HEIGHT = (OS_ANDROID) ? Ti.Platform.displayCaps.platformHeight/dpi : Ti.Platform.displayCaps.platformHeight;
var sx = 0;
var sy = 0;
var cx = 0;
var cy = 0;
var xDistance = 0;
function onTouchStart(e) {
// start movement
sx = e.x;
sy = e.y;
cx = e.x;
cy = e.y;
console.log(e.x);
}
function onTouchMove(e) {
xDistance = cx - sx;
var yDistance = cy - sy;
var points = e.source.convertPointToView({
x: e.x,
y: e.y
}, $.single);
$.myView.applyProperties({
left: 0,
top: points.y,
opacity: 1
});
/*------------------------------------------------------
* HERE I TRY TO DETECT IF myView HEIGHT IS SHOWN ENTIRELY
* is myView.top + myView.height > viewport ?
------------------------------------------------------*/
var t = $.myView.top + $.myView.height;
if(t >= HEIGHT){
alert('all myView is visible now ???');
return; // <= why this has no effect ??
}
cx = e.x;
cy = e.y;
}
function onTouchEnd(e) {
// check xDistance
}
$.myView.addEventListener("touchmove", onTouchMove);
$.myView.addEventListener("touchstart", onTouchStart);
$.myView.addEventListener("touchend", onTouchEnd);
有了這段代碼,我可以垂直拖動myView,但當這個高度完全顯示時,它不會停止。
我的第一個問題是: - 怎麼說呢,如果完全顯示MyView的? - 如何禁用垂直如果所有MyView的高度顯示拖動到頂部?
謝謝
非常感謝你,我會試試這個 – user44321
你好,嘗試你的代碼,當視圖完全可見時拖動不會停止。 – user44321
如果條件不起作用,我的意思是「返回」 – user44321