Titanium iOS: показать окно сверху

Я создал 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. Окно Б

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

  2. Окно C(Сборщик смайлов)

    backgroundColor: 'transparent', id: 'popupWin'

1 ответ

Решение

Окно C должно быть окном? Основываясь на вашем коде, я не могу сказать. Итак, с этим предположением, посмотрите, поможет ли следующее:

А как насчет создания View для C в качестве файла 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 обычный JS вызывает 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;

Наконец, внутри окна A вы можете продолжить как обычно. Похоже, что C может быть представлением вместо создания другого окна.

Другие вопросы по тегам