我有一个按钮,当点击它时会打开一个带有其他共享功能的模态窗口。在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');
});
希望我一直很清楚。
答案 0 :(得分:1)
事实证明,你无法在事件中传递Ti.UI对象,只能在IOS中传递原语(如字符串,数字),但它可以在Android上运行。最后,我写了另一个自定义事件来解决问题