0

在视图中:

我有这样的看法:

<Alloy>
<TabGroup id="tab1">
    <Tab id="findtab">
        <Window id="window1"></Window>
    </Tab>
    <Tab id="tab2">
        <Window id='window2'></Window>
    </Tab>
 </TabGroup>
</Alloy>

在控制器中:

如何设置window1的标题?

4

3 回答 3

1

我相信您的问题是,当您尝试设置标题时,该窗口尚未完全创建。

我对选项卡组的焦点事件(实际上从选项卡中冒出)采取行动,并根据选项卡分配 ActionBar 标题。

对于 TabGroups 中的 ActionBars,我执行以下操作:

看法:

<Alloy>
  <TabGroup id="tabGroup1">
    <Tab id="tab1">
      <Window id="window1"></Window>
    </Tab>
    <Tab id="tab2">
      <Window id='window2'></Window>
    </Tab>
  </TabGroup>
</Alloy>

控制器:

/**
 * Listen to focus on the tabgroup and pass the title to the ActionBar
 */
$.tabGroup1.addEventListener('focus', function(){

 if( OS_ANDROID && Ti.Platform.Android.API_LEVEL >= 11 ) {

    var tabGroup = $.tabGroup1,
        activity = tabGroup.getActivity(),
        actionBar;

    if(!activity){
        Ti.API.error('No activity created for mainTabGroup');
    } else {
        actionBar = activity.actionBar;

        if(!actionBar){
            Ti.API.error('No ActionBar created for mainTabGroup activity');
        } else {
            actionBar.setTitle(tabGroup.activeTab.title);
        }
    }

 }
});

$.mainTabGroup.open();

通过使用 TabGroup 的焦点事件,您可以确保组件在需要修改时可用。

于 2013-10-22T12:15:40.980 回答
1

利用:

$.window1.title="my title"
于 2013-10-17T16:27:21.953 回答
0

Here you go

$.window1.title='MY custom title';

Thanks

于 2013-10-17T16:27:23.963 回答