0

チタンappceleratorのビューを垂直方向にドラッグし、画面全体の高さが表示されたら停止します。 「垂直ドラッグ(touchMove)チタンappceleratorビュー

Here is the screenshot

これは私がドラッグを縦にする方法である: では、ビューを起動するので、私は始めることができるビューの一部をドラッグすることができます持っている140の高さと-120の底部を有します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の高さが表示されている場合は、垂直方向にドラッグする方法を無効にするにはどうすればよいですか?

ありがとうございました

答えて

0

機能onTouchMoveはこのようにする必要があります。

+0

大変ありがとうございます。これを試してみます – user44321

+0

こんにちは、あなたのコードを試してみてください。表示が完全に見えるときにドラッグが止まっていません。 – user44321

+0

条件が機能していない場合、内部の「返品」を意味します – user44321

関連する問題