Titanium 如何在钛3.1.0 GA中获得e.globalPoint
我试图在iPhone应用程序中获取globalPoint,当touchmove事件发生时,我使用以下代码获取globalPointTitanium 如何在钛3.1.0 GA中获得e.globalPoint,titanium,Titanium,我试图在iPhone应用程序中获取globalPoint,当touchmove事件发生时,我使用以下代码获取globalPoint var x = parseInt(e.globalPoint.x, 10); 它工作正常,直到我将Tianium 3.0.2 GA更新为3.1.0 GA,更新后我运行应用程序时出现以下错误 “未定义”不是对象(计算“e.globalPoint.x”) 我正在使用此代码来滑动窗口 var animateLeft = Ti.UI.createAnimation({
var x = parseInt(e.globalPoint.x, 10);
它工作正常,直到我将Tianium 3.0.2 GA更新为3.1.0 GA,更新后我运行应用程序时出现以下错误
“未定义”不是对象(计算“e.globalPoint.x”)
我正在使用此代码来滑动窗口
var animateLeft = Ti.UI.createAnimation({
left : 250,
curve : Ti.UI.ANIMATION_CURVE_EASE_OUT,
duration : 150
});
var animateRight = Ti.UI.createAnimation({
left : 0,
curve : Ti.UI.ANIMATION_CURVE_EASE_OUT,
duration : 150
});
var touchStartX = 0;
var touchStarted = false;
$.innerwin.addEventListener('touchstart', function(e) {
touchStartX = parseInt(e.x, 10);
});
$.innerwin.addEventListener('touchend', function(e) {
touchStarted = false;
if ($.win.left >= 150) {
$.win.animate(animateLeft);
hasSlided = true;
} else {
$.win.animate(animateRight);
hasSlided = false;
}
});
$.innerwin.addEventListener('touchmove', function(e) {
var x = parseInt(e.globalPoint.x, 10);
var newLeft = x - touchStartX;
if (touchStarted) {
if (newLeft <= 250 && newLeft >= 0) {
$.win.left = newLeft;
}
}
if (newLeft > 30) {
touchStarted = true;
}
});
$.button.addEventListener('singletap', function(e) {
$.toggleSlider();
});
var hasSlided = false;
exports.toggleSlider = function() {
if (!hasSlided) {
$.win.animate(animateLeft);
hasSlided = true;
} else {
$.win.animate(animateRight);
hasSlided = false;
}
}
var animateLeft=Ti.UI.createAnimation({
左:250,
曲线:Ti.UI.ANIMATION\u curve\u EASE\u OUT,
持续时间:150
});
var animateRight=Ti.UI.createAnimation({
左:0,,
曲线:Ti.UI.ANIMATION\u curve\u EASE\u OUT,
持续时间:150
});
var touchStartX=0;
var touchtstarted=false;
$.innerwin.addEventListener('touchstart',函数(e){
touchStartX=parseInt(e.x,10);
});
$.innerwin.addEventListener('touchend',函数(e){
touchStarted=false;
如果($.win.left>=150){
$.win.animate(animateLeft);
哈斯利德=真;
}否则{
$.win.animate(animateRight);
hasSlided=假;
}
});
$.innerwin.addEventListener('touchmove',函数(e){
var x=parseInt(e.globalPoint.x,10);
var newLeft=x-touchStartX;
如果(触控启动){
如果(newLeft=0){
$.win.left=newLeft;
}
}
如果(新左>30){
touchStarted=true;
}
});
$.button.addEventListener('singletap',函数(e){
$.toggleSlider();
});
var hasSlided=假;
exports.toggleSlider=函数(){
如果(!haslided){
$.win.animate(animateLeft);
哈斯利德=真;
}否则{
$.win.animate(animateRight);
hasSlided=假;
}
}
相反,您需要这样做(在这个精心设计的示例中),并使用以下方法:
最后,我使用了以下小部件
var baseview = Ti.UI.createView({width : Ti.UI.FILL, height : Ti.UI.FILL});
var view = Ti.UI.createView({ width : 20, height : 20 });
view.addEventListener('touchmove', function(e) {
var globalPoint = convertPointToView({x : e.x, y : e.y}, baseview);
});