打破TabGroups和新窗口的默认行为

时间:2011-04-06 20:11:12

标签: iphone mobile titanium appcelerator-mobile

通常,在标签中打开一个窗口非常简单

Ti.UI.currentTab.open( 
    Ti.UI.createWindow( {url: 'foo.js'} )
  , {animated: true }
);

但是,这会启动UI导航组的“导航组”样式。 “后退”按钮会自动放在导航栏上。

有没有办法打开一个窗口,在当前标签中,但从一个新的历史开始?或者“横向”移动到一个新窗口 - 基本上取代当前的?

为了确保我清楚,请考虑此窗口层次结构

     root
    /    \
 child1  child2
        /      \
   child3      child4

在每种情况下,特定的用户操作都会打开当前选项卡中的两个窗口之一。

如果我想点击 child3 按钮以打开 child4 ,同时尊重上述视图heirachy,该怎么办?我不希望“回”去 child3 ,我希望它转到 child2 。喜欢这个

     root
    /    \
 child1  child2
        /      \
   child3----> child4

或者,如果我想要“退回”,那么有效地开始新的导航历史记录会怎样?

2 个答案:

答案 0 :(得分:1)

我认为你可以通过做一个非动画关闭来完成“横向”移动,然后打开:

Ti.UI.currentTab.close( 
    child3
  , { animated: false }
);

Ti.UI.currentTab.open( 
    child4
  , { animated: true }
);

但是,我不认为你可以在根窗口上这样做,以便从“新鲜历史”开始。

答案 1 :(得分:0)

我注意到这个孩子3 - > child4的行为与我在一个主要显示带有本地HTML文档的Web视图的窗口中获得的行为非常相似,并且HTML具有指向另一个本地HTML文档的超链接。