0

ボタンにイベント リスナーを追加しようとして問題が発生しました。これが私のコードにあるものです。

var TabGroup = Titanium.UI.createTabGroup();

var Maps = Titanium.UI.createWindow({
    backgroundImage:'/images/Background2.jpg'
});
var tab1 = Titanium.UI.createTab({
    title: 'Maps',
    icon: '/KS_nav_ui.png',
    window: Maps
});
var scrollView = Titanium.UI.createScrollView({
    contentWidth:'auto',
    contentHeight:'auto',
    top:0,
    showVerticalScrollIndicator:false,
    showHorizontalScrollIndicator:false
});
var view = Ti.UI.createView({
    height:495,
    width:300
});
var btnInnovations = Ti.UI.createButton({
    height:75,
    width:Titanium.UI.FILL,
    backgroundImage:'/images/Innovations.jpg',
    top:60
});
var btnOaks = Ti.UI.createButton({
    height:75,
    width:Titanium.UI.FILL,
    backgroundImage:'/images/Oaks Campus.jpg',
    top:145
});
var btnWHQ = Ti.UI.createButton({
    height:75,
    width:Titanium.UI.FILL,
    backgroundImage:'/images/WHQ.jpg',
    top:230
});
var btnRiverport = Ti.UI.createButton({
    height:75,
    width:Titanium.UI.FILL,
    backgroundImage:'/images/Riverport.jpg',
    top:315
});
var btnContinuous = Ti.UI.createButton({
    height:75,
    width:Titanium.UI.FILL,
    backgroundImage:'/images/Continuous.jpg',
    top:400
});

view.add(btnInnovations);
view.add(btnOaks);
view.add(btnWHQ);
view.add(btnRiverport); 
view.add(btnContinuous);
scrollView.add(view);
Maps.add(scrollView);

TabGroup.addTab(tab1);
TabGroup.open();

btnInnovations.addEventListener('click', function(e){
var InnovationsFloors = Titanium.UI.createWindow({
title: 'Innovations Floors',
url:'InnovationsFloors.js'
});

InnovationsFloors.open({modal : true, backgroundImage:'images/Background1.jpg'});

エミュレーターで発生するエラーは、undefined のメソッド open を呼び出すことができず、Titanium.UI.currentTab.open(InnovationsFloors,{animation:true}); を取り出した場合です。クリックも登録されません...

4

2 に答える 2

2

まず、ウィンドウurlフィールドの名前にスペースを含めることはできません。Innovations Floors.jsファイルの名前をに変更しますInnovationsFloors.js

open()2番目の部分は、コマンドに渡す属性がサポートされていないことです。サポートされていanimatedないはずanimationです。それでも、この方法でこれを使用しないでください。このドキュメントを参照してください。

代わりにこれを行うだけです:

Titanium.UI.currentTab.open(InnovationsFloors);

またはこれを試してください:

TabGroup.activeTab.open(InnovationsFloors);

それが機能しない場合は、TabGroupでopenを呼び出していないため、現在のタブがないことを意味します。

また、いつでもこれを試してモーダルを開くこともできます。

InnovationsFloors.open({modal : true});
于 2013-02-25T18:02:34.007 に答える
0

ボタンでウィンドウを開きたい場合は、これでうまくいきます

// this sets the background color of the master UIView (when there are no windows/tab groups on it)
Titanium.UI.setBackgroundColor('#000');

// create tab group
var tabGroup = Titanium.UI.createTabGroup();


//
// create base UI tab and root window
//
var win1 = Titanium.UI.createWindow({  
    title:'Tab 1',
    backgroundColor:'#fff'
});
var tab1 = Titanium.UI.createTab({  
    icon:'KS_nav_views.png',
    title:'Tab 1',
    window:win1
});

var label1 = Titanium.UI.createLabel({
    color:'#999',
    text:'I am Window 1',
    font:{fontSize:20,fontFamily:'Helvetica Neue'},
    textAlign:'center',
    width:'auto'
});

var button = Titanium.UI.createButton({
   title: 'Hello',
   top: 10,
   width: 100,
   height: 50
});

win1.add(button)
win1.add(label1);

button.addEventListener('click', function(e){
        var win = Titanium.UI.createWindow({  
            title:'New Window',
            backgroundColor:'#fff'
        });
        win.open();
});

tabGroup.addTab(tab1);  

// open tab group
tabGroup.open();
于 2013-02-25T16:47:42.783 に答える