appcelerator:将新窗口推入模态窗口

时间:2015-12-17 18:21:15

标签: ios titanium-alloy appcelerator-mobile

大家好我对Appcelerator中的模态视图有疑问。目前我有一个模态视图显示在应用程序中,带有导航窗口(见下文)。

//this is my modal 
<Alloy>
    <NavigationWindow id="win1" platform="ios">
        <Window id="win2" title="Red Window" backgroundColor="red">

        </Window>
    </NavigationWindow>
</Alloy>

//this is the window i want to push in this modal view. 
<Alloy>
    <Window id="win3" title="Blue Window" backgroundColor="blue">
    </Window>
</Alloy>

在我的win2.js(这是我的父窗口,也是我的模态)中,我有以下

var window = $.win2;
var navigationwindow = $.win1;

var button = Titanium.UI.createButton({
    title: 'Open Blue Window'
});

button.addEventListener('click', function(){
    navigationwindow.openWindow(win3, {animated:true});
});

但这并没有做任何事情。甚至可以在模态窗口中推动窗口吗?

如果有人在这里帮助我,我会很高兴的。

1 个答案:

答案 0 :(得分:0)

openWindow() 是推送新窗口的正确方法,但在win2.js控制器中,$变量只会保存对您创建的元素的引用win2.xml而不是您创建导航窗口的视图。在该视图的控制器中,添加Alloy.Globals.nav = $.win1之类的引用(请务必在关闭导航窗口后进行清理),然后在win2.js中使用该引用。