Открытие другого окна в Appcelerator Titanium-приложение не работает - PullRequest
1 голос
/ 27 мая 2011

У меня есть в основном 5 окон в iPad-приложении (созданном с помощью Appcelerator Titanium), и я хочу иметь возможность перемещаться вперед и назад (кнопки «назад» и «далее» для этой цели). Следующий подход не работает. При нажатии кнопки ничего не происходит.

Первое окно открывается в моем app.js так:

var window = Titanium.UI.createWindow({
    url:'mainwindows.js',
    modal: true
});
window.open();

тогда в mainwindows.js у меня есть кнопка с именем 'next', которая делает это:

buttonNext.addEventListener('click', function(e){

        var newWindow = Titanium.UI.createWindow({
            url: "step_1.js",
            title: "Step 1"
        });
        win.open(newWindow, { animated:true})
});

Ответы [ 4 ]

2 голосов
/ 27 мая 2011

Вы должны создать NavigationGroup , чтобы управлять вашими окнами следующим образом:

//root window for nav group — your modal
var rootWindow = Titanium.UI.createWindow({
    url:'mainwindows.js',
    modal: true
});

var navGroup = Ti.UI.iPhone.createNavigationGroup({
    window:window //your window (mainwindow.js)
});

rootWindow.add(navGroup);

//event handler
buttonNext.addEventListener('click', function(e){
    var newWindow = Titanium.UI.createWindow({
        url: "step_1.js",
        title: "Step 1"
    });
   navGroup.open(newWindow);
});

rootWindow.open();

Исследовать KitchenSink , есть много примеров, включая NavigationGroup.

1 голос
/ 11 октября 2011

Очистите ваш проект и запустите снова. Это, безусловно, решает «странные» проблемы, которые являются совершенно неожиданными. Один из моих любимых это:

Результат выражения 'Ti.UI.iPhone' [undefined] не является объектом.

1 голос
/ 30 мая 2011

Вот пример с полным исходным кодом в моем блоге:

http://blog.clearlyinnovative.com/post/4043980803/titanium-appcelerator-quickie-minimal-ipad-splitview

Он использует NavigationGroup с iPad.

Я бы предложил очистить ваш проект иполная перестройка

0 голосов
/ 27 января 2014

Когда вы объявляете var navGroup, окно должно быть установлено как window: rootWindow, а не window: window

...