Titanium iOS:顶部显示窗口

时间:2014-06-10 09:15:16

标签: titanium titanium-mobile

我创建了3个窗口A,B,C。窗口B从窗口A打开。窗口C从窗口B打开。

但事情是窗口C显示在A&之间。 B.我希望这个窗口显示在B的顶部。在Android中运行良好,但在iOS中不行。

以下是代码: 1.窗口A

var chatBoxWindow = Titanium.UI.createWindow({
        top : Ti.API.top,
        url : '',
        left : '100%',
        width : '100%',
        zIndex : 100,
        orientationModes : [Ti.UI.LANDSCAPE_LEFT, Ti.UI.LANDSCAPE_RIGHT, Ti.UI.PORTRAIT, Ti.UI.UPSIDE_PORTRAIT]
    });
chatBoxWindow.open();
  1. Window B

    var modal = require(" / ui / common / smileypopup")。modalWin; var popupWin = new modal(); popupWin.open();

  2. Window C(Smiley Picker)

    backgroundColor:'透明', id:' popupWin'

1 个答案:

答案 0 :(得分:2)

Window C必须是一个窗口吗?根据您的代码,我无法说出来。因此,假设有以下帮助:

如何为C创建一个 View 作为commonJS文件并在Window B中调用它:

//Code for Smileypopup which is really just a view

function Smileypopup(){

    var self = Ti.UI.createView({

        top:0,width:Ti.UI.FILL,height:Ti.UI.FILL,
        backgroundColor:'transparent',
        id:'smileypopup'
    });
    //add your smiley code picker code along with
    //your functions using the self.functionname(){}; approach

    return self;
}
module.exports = Smileypopup;

然后在Window B commonJS内部调用 WindowC

function WindowB(){

    var Smileypopup = require('/ui/common/Smileypopup');
    var popup = new Smileypopup();

    var self = Ti.UI.createWindow({});

        self.add(popup);
        self.showPopup = function(){ popup.show(); };
        self.hidePopup = function(){ popup.hide(); };

    return self;
}
module.exports = WindowB;

最后,在Window A中,您可以照常进行操作。听起来C可以是一个视图,而不是创建另一个Window。