0

我在 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 可以正常打开,但圆形对象会移回拖动之前的位置。

4

2 回答 2

0

感谢大家的帮助。

我通过执行以下操作对其进行了整理:

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

这会强制对象具有下拉顶部和左侧属性。

于 2013-09-23T14:07:31.923 回答
0

如果您在具有模态属性的 winA 中打开 winB,则会产生问题。

于 2013-09-19T06:19:42.610 回答