-1

我已经从

A->B->C->D

从那里 D 是最终窗口,我必须回到窗口A。我将如何在钛中做到这一点?

4

3 回答 3

2

你可以像这样使用fireEvent

只需将此代码添加到您的 B 窗口中

  Ti.App.addEventListener('closeWinB',function(e){
    B.close();
});

并在您想重定向到窗口 A 时编写以下代码

Ti.App.fireEvent('closeWinB');

希望它对你有用....

于 2012-07-17T11:04:00.577 回答
1

使用视图而不是窗口。

像这样创建一个窗口:

var PAC = Titanium.UI.createWindow({  
    title:'PAC',
    backgroundColor:'#fff'
});

将您的视图创建为“其他屏幕”或新窗口。您可以使用全屏像素大小或相对单位为 100% 来实现此目的

var viewInputData = Ti.UI.createView({
    backgroundColor:'#fff',
    top:0,
    left:0,
    width:'800px',
    height:'600px',
    zIndex:1
});

var viewOutputData = Ti.UI.createView({
    backgroundColor:'#fff',
    top:0,
    left:0,
    width:'100%',
    height:'100%',
    zIndex:0

});

请注意 zIndex 值,zIndex 值是视图应如何放置在“顶部”。在这种情况下,viwOutputData 低于 viewInputData。

创建一个按钮来触发事件。此窗口将切换 zIndex 值,该值将显示文本字段的值:

var  viewInputDataButton = Titanium.UI.createButton({
    width:120,
    height:111,
    top:10,
    backgroundImage: 'bp/images/square_button_1010.jpg',
    backgroundSelectedImage : 'bp/images/square_button_1001.jpg'
});

// declare a input view where your data will live
var viewInputNombre=Ti.UI.createTextField({
    borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED,
    backgroudColor: 'white',
    top: 250,
    font: {fontsize: 80, fontWeight: 'arial'},
    textAlign: 'center',
    borderWidth:5,
    borderColor: 'black',
    borderRadius:3,
    height:50,
    width: 170

});

// add input to view 
viewInputData.add(viewInputNombre);

现在创建并添加下一个视图的按钮

var  viewOutputDataButton = Titanium.UI.createButton({
    width:120,
    height:111,
    top:10,
    backgroundImage: 'bp/images/square_button_1001.jpg',
    backgroundSelectedImage : 'bp/images/square_button_1010.jpg'
});

// Create a simple label
var label2 = Titanium.UI.createLabel({
    color:'#999',
    text:'I am View 2',
    font:{fontSize:20,fontFamily:'Helvetica Neue'},
    textAlign:'center',
    width:'auto'
});

// add label to view 
viewOutputData.add(label2);

这是使用 zIndex 属性切换两个视图的方法。为 view1 上的按钮创建事件侦听器,负责处理此开关:

viewInputDataButton.addEventListener('click', function(e){
    label2.setText(viewInputNombre.getValue());
    viewOutputData.setZIndex(viewInputData.zIndex+1); // zIndex change
});

秘诀是,您知道按钮 1 处的视图“在顶部”并且具有“最大 zindex”,因此..您将 zIndex 添加到焦点视图的当前 zIndex 之上,然后将视图弹出到顶部...

viewOutputDataButton.addEventListener('click', function(e){
    viewInputData.setZIndex(viewOutputData.zIndex+1);
});

同样在这里,按钮只是返回到原始窗口......

// add buttons
viewInputData.add(viewInputDataButton);
viewOutputData.add(viewOutputDataButton);

// add the views to the window
PAC.add(viewInputData);
PAC.add(viewOutputData);

// open it... 
PAC.open();
于 2012-09-30T06:15:03.937 回答
0

根据您构建应用程序的方式,您通常可以执行以下类似的操作:

button.addEventListener('click', function(){
    A.open({
        animated: true
    )}
})
于 2012-07-17T00:05:58.243 回答