问题:如何确定窗口中显示的标签。
我使用Ti.UI.createLabel
创建了标签,窗口中有6个。这是我初始化它们的方式:
var sitCom = Ti.UI.createlabel({
text: 'Door',
top: 10,
left: 5,
visible: false
});
我对其他变量有相同的属性,唯一的区别是text属性。
这些标签是隐藏的,只有在按下按钮时才会按需显示。我使用setVisible: true
来显示它们。这很好。
然后我创建了一个循环这些变量的函数来检查显示哪一个。这个想法是,当用户点击一个按钮时,脚本会搜索可见的按钮,隐藏不相关的按钮并显示该按钮所要求的按钮。
function whatIsVisible(){
var newArr = new Array();
var newArr[0] = 'sitCom';
var newArr[1] = 'dutyFree';
var newArr[2] = 'Exclusive';
// ...
var i = 0;
for (i=0; i<=6; i++) {
var v = newArr[i].getVisible();
Ti.UI.info(newArr[i]+ ' is '+v);
}
}
该功能在控制台日志中显示undefined
。
我在这里缺少什么?我是否必须在for循环中放置一个if语句来检查每个数组?
感谢您的帮助
答案 0 :(得分:0)
这种情况正在发生,因为for循环中没有标签对象。从变量中删除'',只传递var名称。