2013-10-30 132 views
0

我有一个按钮,点击后可以打开一个带有额外共享功能的模式窗口。一切工作正常在Android上,但我有一个小问题与iOS。我可以共享一个变量,它只是一个数字,而不是一个按钮的变量。从主app.js下面的代码:在两个文件之间共享一个按钮变量

var shareBtn2; 
var fullScore; 
shareBtn2.addEventListener('singletap', function (e){ 

    shareBtn2.setBackgroundImage('share_pressed.png'); 

    var shareModal = require('shareModal'); 
    var shareModalView = new shareModal(); 
    Ti.App.myGlobalVar=shareModalView; 
    win2.add(shareModalView); 

    if (DJBool){ 
     Ti.App.fireEvent('shareModalEvent', { 
       myBtn: shareBtn2, 
       myPts: Math.round(fullScore) 
     }); 
     alert('Was a DJBool'); 
    } 

,然后在含有4个按钮通过,FB,微博,电子邮件和取消按钮,分享我的第二个文件。

Ti.App.addEventListener('shareModalEvent', function(event) { 
    globalPts=event.myPts; 
    globalBtn=event.myBtn; 
    alert('received share modal event'); 
}); 

console.log(typeof globalPts);//outputs number 
console.log(typeof globalBtn);//outputs undefined 

我需要在我的第二个文件这个按钮的唯一原因是,如果用户在第二个文件按下“取消按钮”,我想改变我的shareBtn的和backgroundImage到它的原始状态。即

cancelBtn.addEventListener("click", function (e){ 
     cancelBtn.setImage('cancelShare_pink.png'); 
     win2.remove(Ti.App.myGlobalVar); 
     globalBtn.setBackgroundImage('share.png'); 

    }); 

希望我已经清楚。

回答

1

原来,你不能在事件中传递Ti.UI对象,只有基元(如字符串,数字)在iOS中,但它在Android上工作。在他最后我写了另一个自定义事件来解决问题

相关问题