Titanium Window删除子视图

时间:2013-09-18 15:00:54

标签: javascript titanium appcelerator

我在Titanium中创建一个窗口A(最新版本)并添加一些效果很好的视图。

    var winA = Titanium.UI.createWindow({  
        backgroundColor: bgColor,
        statusBarHidden:true
    });

    var circle = createDragCircle('Dent'); //This is a Ti.Draggable view
    winA.add(circle);
然后我打开一个模态窗口B,即:

    winB.open({modal: true});

winB打开正常,但实际上,打开我添加的所有winA子视图都被删除了。我可以说它没有重新加载winA。

这是默认行为吗?

修改

行。在进一步调查中,它不会删除添加的视图。它将它们重置为拖动事件之前的位置。基本上,我正在做以下事情:

    var drag = require('ti.draggable'); 

    var win = Titanium.UI.createWindow({  
       backgroundColor: bgColor,
       statusBarHidden:true
    });

    var circle = drag.createView({
        height: 30,
        width: 30,
        zIndex: 100,
        top: top,
        left: 25,
        minLeft: 65,
        maxLeft: 285,
        minTop: 105,
        maxTop: 370,            
        isDragged: false,
        type: type
    });

    //Add an event listener to catch drag end
    circle.addEventListener('end', function(e) {
        var editwin; //Call to create winB
        editwin.open({modal: true});
    });

winB打开正常但圆圈对象移回到它被拖动之前的位置。

2 个答案:

答案 0 :(得分:0)

如果你使用modal属性在winA中打开winB,那么它会产生问题。

答案 1 :(得分:0)

感谢所有人的帮助。

我通过以下方式对其进行了整理:

    circle.addEventListener('end', function(e) {
        this.top = e.source.top;
        this.left = e.source.left;
    });

这会迫使物体占据掉落顶部和顶部。离开了房产。