Titanium:为什么动画不适用于观看儿童?

时间:2013-09-02 15:04:00

标签: ios titanium

在Titanium项目中,我使用以下代码拖放图像视图

Utils.prototype.makeDraggable = function(view, onDropped) {
    var olt = Titanium.UI.create2DMatrix(), curX=0, curY=0, endX=0, endY=0;
    var animation_in_progress = false;

    view.setTransform(olt);

    view.addEventListener('touchstart', function(e) {
        curX = e.x; curY = e.y;
    });

    view.addEventListener('touchmove', function(e) {
        // update the co-ordinates based on movement since last movement or touch start
        var deltaX = e.x - curX, deltaY = e.y - curY;

        if (!animation_in_progress) {
            olt = olt.translate(deltaX, deltaY);
            animation_in_progress = true;
            view.animate({
                transform : olt,
                duration : 50,
                curve: Titanium.UI.ANIMATION_CURVE_LINEAR
            }, function(e) {
                animation_in_progress = false;
            });
        }
    });

    view.addEventListener('touchend', function(e) {
        if (onDropped) {
            onDropped(e);
        }
    });
}

在单个ImageView上运行正常。

现在我想拖放一组ImageView。我的想法是创建父视图,将图像视图添加到此父视图,然后为父视图设置动画。

不幸的是,只要我将儿童添加到视图中,就不能再动画了这个。

任何想法为什么以及如何解决它? 您对一组视图实施拖放的建议是什么?

1 个答案:

答案 0 :(得分:1)

我猜你的孩子的意见正在干扰你的触摸事件。要尝试的一件事是为每个子视图将touchEnabled设置为false,然后将makeDraggable方法应用于父视图。